【发布时间】:2016-01-16 14:47:49
【问题描述】:
我有一个存储过程 uspGetProductAndCategory,它接受参数 @SupplierID 并返回产品、类别和供应商 [这些表来自 NorthWindDatabase]。
我的问题是,当我将此存储过程与.edmx 集成时,它会在我的ContextEntityClass 中生成一个方法,即uspGetProductAndCategory,返回类型为ObjectResult<uspGetProductAndCategory_Result>。但这种复杂类型大约只有第一个结果集。
我已经阅读了很多关于“如何在 EF 6 中调用多个结果集 SP”的主题,但还没有得到任何解决方案。通过 XML 编辑器更改函数导入和其他元素后,如描述 here,我将如何调用已经返回 ObjectResult<uspGetProductAndCategory_Result> 的函数 uspGetProductAndCategory_Result
这是所有的屏幕截图
将存储过程导入ContextEntityClass后:
DbContext.edmx修改函数导入后
【问题讨论】:
-
EF 不支持来自存储过程的多个结果集。更改您的过程以返回单个结果集,或者如果您不能这样做,那么您必须使用直接的原始 ADO.NET 来处理此存储过程及其返回的数据
标签: c# sql-server entity-framework stored-procedures asp.net-mvc-5