实体框架存储过程仅返回一个结果

时间:2012-11-13 15:02:00

标签: .net sql-server entity-framework c#-4.0

List<GetAllDataResult> list = myContext.GetAllData(id).ToList();

因此,请考虑使用Entity Framework对存储过程的上述调用。当我调用它时,我期待返回5行(我将枚举),但调用只返回一行 - 看起来像第一行。

这是EF设计师代码中的方法:     public ObjectResult GetAllData(Nullable id)();

为什么不返回列表。

当我在Sql Server Management Studio中手动运行SP时,我收到了正确的列表。 有什么想法吗?

更新:正在执行的存储过程如下:

Select id, Name, age from Person where lid = @id

在SQL profiler中,我可以看到如下调用:

exec [dbo].[GetAllData] @id=2

1 个答案:

答案 0 :(得分:0)

在您的EF设计师中,您可以查看映射吗?

我假设,如果您从数据库自动生成实体,它实际上将您的@ID参数映射到Person的ID字段。

通过这个,我的意思是当EF生成SQL时,它可能正在生成:

     Select id, Name, age from Person where id = @id

可以进一步检查以查看返回的行的ID是否为lid,而不是{{1}}