Comment exécuter des procédures stockées dans Entity Framework Core?

asp.net-core asp.net-core-mvc entity-framework-core

Question

J'utilise EF7 (core framework d'entité) dans une application asp.net core. Pouvez-vous m'indiquer la bonne façon d'exécuter des procédures stockées? L'ancienne méthode avec ObjectParameters et ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction ne fonctionne pas.

Réponse acceptée

La prise en charge des procédures stockées dans EF7 est maintenant résolue. Elle prend également en charge le mappage de plusieurs ensembles de résultats.

Vérifiez ici pour les détails du correctif

Et vous pouvez l'appeler comme var userType = dbContext.Set().FromSql("dbo.SomeSproc @Id = {0}, @Name = {1}", 45, "Ada");


Réponse populaire

La prise en charge des procédures stockées n’est pas encore mise à jour (à partir de la version 7.0.0-beta3) dans EF7. Vous pouvez suivre l'évolution de cette fonctionnalité à l'aide du numéro 245 .

Pour l'instant, vous pouvez le faire à l'ancienne en utilisant ADO.NET.

var connection = (SqlConnection)context.Database.AsSqlServer().Connection.DbConnection;

var command = connection.CreateCommand();
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "MySproc";
command.Parameters.AddWithValue("@MyParameter", 42);

command.ExecuteNonQuery();


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi