Je suis nouveau à ASP.NET (en utilisant MVC5 EF 6.1.1) et vient de développer un nouveau prototype pour une application à utiliser au travail. J'appelle actuellement mes procédures stockées dans mes controllers et on m'a demandé de les reconcevoir en utilisant une approche basée sur la database avant que mon application ne puisse être mise en ligne. On m'a recommandé le tutoriel suivant:
http://www.asp.net/mvc/overview/getting-started/database-first-development/creating-the-web-application
Cela fonctionne très bien si vous select une ou plusieurs tables de votre database sur l'Assistant Entity Data Model (l'échafaudage fonctionne parfaitement). Cependant, j'ai besoin de sélectionner une procédure stockée au lieu d'une table et l'échafaudage ne fonctionnera pas. Je crois que j'ai besoin de créer une class partielle dans mon dossier Model pour appeler en quelque sorte ma procédure stockée avec ses arguments (ie var résultat = dbContext.Procedurename (values1, value2)) mais je n'ai pas trouvé un exemple approprié de ceci et ai été bloqué à ce stade pendant plus d'un mois. Quelqu'un pourrait-il aider?
Merci!
Recherchez SqlQuery
ou ExecuteSqlCommand
context.Database.SqlQuery<Entity>("spName @param1, @param2, @param3"); context.Database.ExecuteSqlCommand("spName @param1, @param1,@param1");
Meilleure solution: en utilisant l'assistant pour créer un model de données avec ADO.Net Entity Framework, en plus de sélectionner des tables, ajoutez également une procédure stockée.
Cela nous permettra d'utiliser l'object context pour exécuter les procédures de stockage dans le controller.
ContosoUniversityEntities context=new ContosoUniversityEntities(); context.mysp();
Pour votre considération: appelez SP dans EF