ExecuteStoreQuery retourner plusieurs lignes comment puis-je obtenir en un IList ou de la Liste
J'ai une procédure stockée qui renvoie une requête dynamique, e,g si je passe de la valeur à ses id
paramètre, il m'a fait une requête dynamique comme
Select * from someTable tbl where tbl.Id=51
puis-je exécuter cette requête à l'aide de ExecuteStoreQuery
comme
string query = container.CreateQuery<string>(
"SELECT VALUE DB.Store.GetQuery(@ID) FROM {1}",
new System.Data.Objects.ObjectParameter("ID", 51)
).First();
object lists = container.ExecuteStoreQuery<object>(query);
le problème est container.ExecuteStoreQuery<object>(query);
retourne plusieurs lignes qui je veux entrer dans une liste, comment puis-je le faire
OriginalL'auteur John x | 2012-01-26
Vous devez vous connecter pour publier un commentaire.
créer un modèle de type que vous voulez retourner les résultats, comme
où
_key
et_value
correspondent aux colonnes du résultat renvoyéexécuter la requête
ExecuteStoreQuery
également retourner le résultatAsQueryable
public int key;
) et ça ne fonctionne pas, mais quand j'ai changé les membres de propriétés par l'ajout de la{get; set;}
il a travaillé beaucoup.OriginalL'auteur Rafay
Je ne suis pas sûr si je comprends votre question, mais il semble que vous êtes à la recherche pour
ToList
méthode:Le plus de problèmes est
object
dans votre code si vous avez vraiment direobject
type, il ne fonctionnera pas. Vous devez fournir un type réel (soit mappé entité complexe de type ou de classe personnalisée avec des propriétés publiques en utilisant les mêmes noms de colonnes dans le jeu de résultats), sinon EF ne se remplit pas les données pour vous.OriginalL'auteur Ladislav Mrnka
Procédures stockées peuvent être importés dans votre Modèle d'Entité. Ce sera le résultat d'une fonction sur votre
ObjectContext
que vous pouvez appeler à partir de votre code.Lorsque vous mappez la SP, vous pouvez les laisser EF carte le résultat de votre SP à une Entité. Si vous n'avez pas de correspondance entité EF peut déterminer les colonnes de ce type pour votre procédure stockée et de la carte d'un type complexe.
Voici la documentation MSDN qui explique cette.
context.ExecuteStoreQuery
OriginalL'auteur Wouter de Kort