【问题标题】:Calling Stored Procedure with Parameter and Multiple Result Set Entity Framework 6使用参数和多结果集实体框架调用存储过程 6
【发布时间】: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


【解决方案1】:

一点建议。不要在 EF 中使用乘法结果集。而已。可能是我太粗鲁了。但我为此花了很多时间。并简单地使用另一种方法进行 SP 调用。不是英孚。我不想宣传这些您可以在互联网上轻松找到的方法。

EF 继续采用“代码优先”方法,而 SP 不符合这一概念。

【讨论】:

    猜你喜欢
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多