stored procedimiento maptostoredprocedures mapear framework first ejecutar con code almacenado c# entity-framework stored-procedures

c# - procedimiento - maptostoredprocedures



Lista de devoluciĆ³n de Entity Framework del procedimiento almacenado (2)

Creé este procedimiento almacenado de muestra devolviendo una lista de valores int:

CREATE PROCEDURE dbo.GetListOfInt AS BEGIN SELECT * FROM (VALUES (42), (4711), (8088), (80286), (80486), (655235)) AS VT(VC) END

Luego agregué este procedimiento almacenado a mi modelo .edmx EF y creé esta función de importación:

Consultar el procedimiento almacenado me muestra que devuelve un conjunto de resultados que consta de valores int . Por lo tanto, defino el valor de retorno como una colección de Scalar: Int32 en el cuadro de diálogo de importación de funciones.

Después de eso, puedo llamar a ese procedimiento almacenado y obtener los resultados de esta manera:

using (testEntities ctx = new testEntities()) { ObjectResult<int?> result = ctx.GetListOfInt(); foreach (int intValue in result.AsEnumerable()) { Console.WriteLine("INT value returned: {0}", intValue); } }

Estoy tratando de devolver una lista de int de un procedimiento almacenado en Entity Framework.

Creé bien el procedimiento almacenado y lo agregué a Entity Framework. Estoy intentando vincularlo a un tipo complejo pero cuando abro la función import.

Genera automáticamente un tipo complejo que solo devuelve un int en lugar de un conjunto de resultados.

¿Alguien sabe cómo puedo importar una entidad que devuelve una lista como conjunto de resultados?


Si solo está tratando de obtener una lista de un procedimiento almacenado, no necesita asignar nada especial.

Simplemente llámalo así:

var results = dbContext.Database.SqlQuery<int>("SP_YourSP").ToList();

esto debería devolver una lista de enteros