Entity Framework Return 来自存储过程的列表
Entity Framework Return List from Stored Procedure
我正在尝试 return 来自 Entity Framework 中存储过程的 int 列表。
我很好地创建了存储过程,并将其添加到 Entity Framework。我试图将它绑定到一个复杂的类型,但是当我打开函数导入时。
它会自动生成一个复杂类型,它只是 return 一个 int 而不是结果集。
有谁知道如何导入 return 列表作为结果集的实体?
如果您只是想从存储过程中获取列表,则不需要映射任何特殊内容。
就这样称呼它:
var results = dbContext.Database.SqlQuery<int>("SP_YourSP").ToList();
这应该return一个整数列表
我创建了这个示例存储过程returning 一个 int 值列表:
CREATE PROCEDURE dbo.GetListOfInt
AS BEGIN
SELECT *
FROM
(VALUES (42), (4711), (8088), (80286), (80486), (655235)) AS VT(VC)
END
然后我将这个存储过程添加到我的 EF .edmx
模型中并创建了这个函数导入:
查询存储过程显示它 return 是一个由 int
值组成的结果集 - 因此我将 return 值定义为 的集合标量:函数导入对话框中的 Int32。
之后,我可以调用该存储过程并取回如下结果:
using (testEntities ctx = new testEntities())
{
ObjectResult<int?> result = ctx.GetListOfInt();
foreach (int intValue in result.AsEnumerable())
{
Console.WriteLine("INT value returned: {0}", intValue);
}
}
如果你想获得带有映射 class 的列表,试试这个
var results = dbContext.Database.SqlQuery<youclass>("SP_YourSP").ToList();
我正在尝试 return 来自 Entity Framework 中存储过程的 int 列表。
我很好地创建了存储过程,并将其添加到 Entity Framework。我试图将它绑定到一个复杂的类型,但是当我打开函数导入时。
它会自动生成一个复杂类型,它只是 return 一个 int 而不是结果集。
有谁知道如何导入 return 列表作为结果集的实体?
如果您只是想从存储过程中获取列表,则不需要映射任何特殊内容。
就这样称呼它:
var results = dbContext.Database.SqlQuery<int>("SP_YourSP").ToList();
这应该return一个整数列表
我创建了这个示例存储过程returning 一个 int 值列表:
CREATE PROCEDURE dbo.GetListOfInt
AS BEGIN
SELECT *
FROM
(VALUES (42), (4711), (8088), (80286), (80486), (655235)) AS VT(VC)
END
然后我将这个存储过程添加到我的 EF .edmx
模型中并创建了这个函数导入:
查询存储过程显示它 return 是一个由 int
值组成的结果集 - 因此我将 return 值定义为 的集合标量:函数导入对话框中的 Int32。
之后,我可以调用该存储过程并取回如下结果:
using (testEntities ctx = new testEntities())
{
ObjectResult<int?> result = ctx.GetListOfInt();
foreach (int intValue in result.AsEnumerable())
{
Console.WriteLine("INT value returned: {0}", intValue);
}
}
如果你想获得带有映射 class 的列表,试试这个
var results = dbContext.Database.SqlQuery<youclass>("SP_YourSP").ToList();