我在我的应用程序中使用Entity Model(来自数据库的EF Designer)。我的存储过程有2个选择查询。经过这么多文章后,我发现我必须手动更改实体模型的复杂类型(实现我想要的目标。或者还有其他方法吗?)。我已经更改了它,但是当我访问时,我只获得第一个选择查询的结果集。如何获取两个查询的结果集?
对于Ex:这是我的存储过程。
ALTER proc [dbo].[Win_Test_Multiple_Result_Set_Entity]
as
begin
select court_type,court_name from mst_courttype
select code,name from mst_bincom
end
这是我修改过的函数import和复杂类型:
<FunctionImport Name="Win_Test_Multiple_Result_Set_Entity" >
<ReturnType Type="Collection(vb_sql_rtcModel.Win_Test_Multiple_Result_Set_Entity_Result)"></ReturnType>
<ReturnType Type="Collection(vb_sql_rtcModel.Win_Test_Multiple_Result_Set_Entity_Topic)"></ReturnType>
</FunctionImport>
<ComplexType Name="Win_Test_Multiple_Result_Set_Entity_Result">
<Property Type="Byte" Name="court_type" Nullable="false" />
<Property Type="String" Name="court_name" Nullable="false" MaxLength="50" />
</ComplexType>
<ComplexType Name="Win_Test_Multiple_Result_Set_Entity_Topic">
<Property Type="Byte" Name="code" Nullable="false" />
<Property Type="String" Name="name" Nullable="false" MaxLength="50" />
</ComplexType>
这是我的功能导入映射:
<FunctionImportMapping FunctionImportName="Win_Test_Multiple_Result_Set_Entity" FunctionName="vb_sql_rtcModel.Store.Win_Test_Multiple_Result_Set_Entity">
<ResultMapping>
<ComplexTypeMapping TypeName="vb_sql_rtcModel.Win_Test_Multiple_Result_Set_Entity_Result">
<ScalarProperty Name="court_type" ColumnName="court_type" />
<ScalarProperty Name="court_name" ColumnName="court_name" />
</ComplexTypeMapping>
</ResultMapping>
<ResultMapping>
<ComplexTypeMapping TypeName="vb_sql_rtcModel.Win_Test_Multiple_Result_Set_Entity_Topic">
<ScalarProperty Name="code" ColumnName="court_type" />
<ScalarProperty Name="name" ColumnName="court_name" />
</ComplexTypeMapping>
</ResultMapping>
</FunctionImportMapping>
我如何访问:
IList<Win_Test_Multiple_Result_Set_Entity_Result> obj = EntityObj.Win_Test_Multiple_Result_Set_Entity().ToList<Win_Test_Multiple_Result_Set_Entity_Result>();
这里我只得到第一个查询的结果集,即court_type和court_name。但我想要两个查询的结果集。怎么做到这一点?