如何操作使用Entity Framework 6返回多个结果集的存储过程?

时间:2018-05-01 14:03:04

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

我们希望将应用程序的现有代码库从ADO.NET迁移到Entity Framework以进行数据访问。我们应该只使用遗留存储过程,数据库由另一个团队管理。

目前,我们正面临着使用遗留SP返回多个结果集的问题,以便将所有结果集转换为所需类型。例如,假设存储过程返回一组患者和医生,那么我们希望将两个结果集转换为List<Patient>List<Physician>

还有一些情况是SP返回4-5个结果集,我们只需要特定的结果集,如结果集2或3或4和5两者。

默认情况下,如果我们使用Database First方法,元数据仅为First结果创建复杂类型(在此示例中,它将为Patient结果集创建复杂类型)。还有ObjectContext API使用IObjectContextAdapter接口 (https://forums.asp.net/t/2013630.aspx?EF+6+code+first+getting+multiple+resultsets+from+stroed+procedure+

还研究了使用以下链接编写包装器代码的方法,并且必须说它确实有帮助 https://www.khalidabuhakmeh.com/entity-framework-6-multiple-result-sets-with-stored-procedures

https://www.trycatchfail.com/2015/06/03/returning-multiple-result-sets-from-a-stored-procedure-using-entity-framework-6/

解决这些问题的最佳方法是什么?我们应该继续探索实体框架吗?我们可以使用API​​或Nuget包吗?

0 个答案:

没有答案