【问题标题】:how to use stored procedures in entity framework which return multiple recordsets如何在返回多个记录集的实体框架中使用存储过程
【发布时间】:2011-07-19 18:43:57
【问题描述】:

我想构建几个存储过程来返回多个记录集。我想知道,如何在 Entity Framework 中使用它们?

【问题讨论】:

    标签: c# asp.net entity-framework stored-procedures


    【解决方案1】:

    实体框架目前不支持多个结果集,但已经支持included in EF June 2011 CTP(它是即将推出的 EF 4.2 的第一个 CTP)。

    如果您想在 EF 4 或 EF 3.5 中使用具有多个结果集的存储过程,您可以查看EFExtensions

    【讨论】:

      【解决方案2】:

      据我所知,Entity Framework 无法处理来自存储过程的多个记录集。

      如果您需要多个记录集,则必须退回到 ADO.NET 类并手动映射不同的 DataTable。

      如果您愿意跳入 CTP 版本的 Entity Framework,您可以尝试使用此处找到的方法:

      Entity Framework CTP5 - Reading Multiple Record Sets From a Stored Procedure - StackOverflow

      【讨论】:

      • 嗯..那个解决方案也不是很好。因为我们必须以任何方式打开另一个连接。顺便说一句,是否建议让 SP 返回多个记录集?还是我们应该建立单独的?
      • @eFriend - 就我个人而言,在这种情况下,我总是编写单独的程序。
      【解决方案3】:

      我自己也遇到过这个问题,解决它的唯一方法是拆分存储过程或按照建议回退到经典的 ADO.Net。我的情况是拆分存储过程是我们使用的路线。

      【讨论】:

        猜你喜欢
        • 2021-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-07
        • 2021-04-21
        • 1970-01-01
        • 2014-01-04
        相关资源
        最近更新 更多