如何从实体FWK中的存储过程返回3个结果集

时间:2018-01-16 22:02:20

标签: c# entity-framework

我可以使用Entity FWK从商店程序中获取前2个结果集但是我在检索第三个结果集时遇到错误。

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

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();

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

<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>

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

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

我的.edmx文件如下所示。

.select2-results__options {
    &[aria-multiselectable=true] {

        .select2-results__option {
            &[aria-selected=true]:before {
                content: '☑';
                padding: 0 0 0 4px;
            }

            &:before {
                content: '◻';
                padding: 0 0 0 4px;
            }
        }
    }
}

我还缺少其他吗?

1 个答案:

答案 0 :(得分:0)

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

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();