¿Cómo ejecutar procedimientos almacenados en Entity Framework Core?

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

Pregunta

Estoy usando EF7 (entidad framework core) en una aplicación central de asp.net. ¿Puede indicarme la forma correcta de ejecutar procedimientos almacenados? El método anterior con ObjectParameters y ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction no funciona.

Respuesta aceptada

El soporte para el procedimiento almacenado en EF7 se resuelve ahora, esto también admite la asignación de conjuntos de resultados múltiples.

Compruebe aquí para los detalles de la solución

Y puede llamarlo así: var userType = dbContext.Set().FromSql("dbo.SomeSproc @Id = {0}, @Name = {1}", 45, "Ada");


Respuesta popular

El soporte para procedimientos almacenados aún no se ha implementado (a partir de 7.0.0-beta3) en EF7. Puede seguir el progreso de esta función usando el problema # 245 .

Por ahora, puedes hacerlo a la antigua usanza 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();



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué