【问题标题】:How to return 3 result sets from stored proc in entity FWK如何从实体 FWK 中的存储过程返回 3 个结果集
【发布时间】:2018-01-16 22:02:20
【问题描述】:

我能够使用 Entity FWK 从存储过程中获取前 2 个结果集,但在检索第三个结果集时遇到错误。

我正在使用下面来执行存储过程。

var results = base.dbcontext.GetData(id)

然后我正在检索如下 3 个结果。

List<Result1> Result1 = null;
List<Result2> Result2= null;
List<Result3> Result3= null; 
var results = base.dbcontext.GetData(id)
result1 = results.ToList();
Result2 = results.GetNextResult<Result2>().ToList();
Result3 = results.GetNextResult<Result3>().ToList();

我能够获取“Result2”结果集,但在检索第三个结果集时遇到异常。

例外是:ExecuteFunction中的类型参数'Result3'与函数返回的类型'Result2'不兼容。

我的 .edmx 文件如下所示。

<FunctionImport Name="USP_GetKPIDefinitionData" >
  <ReturnType Type="Collection(DBModel.Result1)"/>
  <ReturnType Type="Collection(DBModel.USP_Result2)"/>
  <ReturnType Type="Collection(DBModel.Result3)"/>
  <Parameter Name="Id" Mode="In" Type="Int32" />
</FunctionImport>

这里还有其他我想念的吗?

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    我找到了解决方案。下面是代码。

    List<Result1> Result1 = null;
    List<Result2> Result2= null;
    List<Result3> Result3= null; 
    var results = base.dbcontext.GetData(id)
    result1 = results.ToList();
    var data = results.GetNextResult<Result2>()
    Result2 = data.ToList();
    Result3 = data.GetNextResult<Result3>().ToList();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      相关资源
      最近更新 更多