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
答案 0 :(得分:0)
在您的EF设计师中,您可以查看映射吗?
我假设,如果您从数据库自动生成实体,它实际上将您的@ID
参数映射到Person
的ID字段。
通过这个,我的意思是当EF生成SQL时,它可能正在生成:
Select id, Name, age from Person where id = @id
可以进一步检查以查看返回的行的ID
是否为lid
,而不是{{1}}