Come eseguire stored procedure in Entity Framework Core?

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

Domanda

Sto usando EF7 (nucleo della struttura dell'entità) in un'app di base di asp.net. Potete indicarmi il modo corretto di eseguire le stored procedure? Il vecchio metodo con ObjectParameters e ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction non funziona.

Risposta accettata

Il supporto per la stored procedure in EF7 è stato risolto ora, questo supporta anche la mappatura di più set di risultati.

Controlla qui per i dettagli della correzione

E puoi chiamarlo così: var userType = dbContext.Set().FromSql("dbo.SomeSproc @Id = {0}, @Name = {1}", 45, "Ada");


Risposta popolare

Il supporto di stored procedure non è ancora implementato in EF7 (come da 7.0.0-beta3). È possibile tenere traccia dell'avanzamento di questa funzione utilizzando il problema n . 245 .

Per ora, puoi farlo alla vecchia maniera usando 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();



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché