2009-08-31 10 views
1

Basé sur une base de données myDB, je génère edmx pour toutes les tables et compile le projet. Ensuite, je crée la procédure stockée myProc dans myDB. Ensuite, je mets à jour le modèle par "Update Model from database" dans le noeud Stored Procedure et ajoute myProc. C'est bon. Puis "Créer une fonction d'importation" sur myProc. C'est bon. Ensuite, j'ai compilé le projet, ça va.Impossible de trouver la fonction pour la procédure stockée dans Entity Framework

Le type de retour pour cette fonction d'importation est scalaires (chaîne) car myProc renvoie une chaîne. Puis je veux utiliser cette fonction pour cette procédure stockée, mais je peux trouver la fonction. Comment trouver la fonction correspondante et l'appeler dans le code?

Répondre

1

Dans EF 3.5, seules les fonctions renvoyant des entités apparaissent dans ObjectServices.

I.e. l'importation tire la fonction dans le modèle conceptuel, mais PAS dans la génération de code.

Nous avons résolu ce problème dans 4.0.

En attendant, vous pouvez appeler la fonction en utilisant eSQL.

dire quelque chose comme ceci (pseudo code):

EntityConnection connection = ctx.Connection as EntityConnection; 
//Open the connection if necessary 
connection.Open() 
//Create the command 
EntityCommand command = new EntityCommand(); 
command.CommandText = "Function(@p1,@p2"); 
command.Parameters.Add(...); 
command.Parameters.Add(...); 
command.Connection = connection; 
string s = command.ExecuteScalar().ToString(); 

Hope this helps

Alex

Questions connexes