我们希望将应用程序的现有代码库从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
解决这些问题的最佳方法是什么?我们应该继续探索实体框架吗?我们可以使用API或Nuget包吗?