我有一个通过返回多个结果的实体框架调用的存储过程。我一直在使用 DbContext.Translate 方法将这些结果映射回这样的实体:
List<T1> result1 = ObjectContext.Translate<T1>(reader).ToList();
reader.NextResult();
List<T2> result2 = ObjectContext.Translate<T2>(reader).ToList();
reader.NextResult();
List<T3> result3 = ObjectContext.Translate<T3>(reader).ToList();
reader.NextResult();
这很好用,但现在我有一个返回 20 多个结果的程序。我希望能够在不为我的方法创建 20 个重载的情况下通用地映射结果(因为我预计将来会有更多存储过程返回 2-20 个结果集)。
有什么方法可以在没有很多方法重载的情况下循环执行此映射?