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