この記事に従って、ストアド プロシージャから複数のエンティティ セットを取得しました。
エンティティの列マッピングを変更して、Resharper を通過するようにしました。結果マッピングで列マッピングを書き直す必要がありますか?
たとえば、次の EntitySetMapping があります。
<EntitySetMapping Name="IrmaObjectConfiguraties">
<EntityTypeMapping TypeName="IrmaModel.IrmaObjectConfiguratie">
<MappingFragment StoreEntitySet="IrmaObjectConfiguratie">
<ScalarProperty Name="Gid" ColumnName="GID" />
<ScalarProperty Name="IrmaObjectGid" ColumnName="IrmaObject_GID" />
<ScalarProperty Name="IrmaConfiguratieGid" ColumnName="IrmaConfiguratie_GID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
このエンティティは、ストアド プロシージャの結果セットの一部として bij として返されます。
<ResultMapping>
<EntityTypeMapping TypeName="IrmaModel.IrmaObjectConfiguratie">
<!--ScalarProperty Name="Gid" ColumnName="Gid" />
<ScalarProperty Name="IrmaObjectGid" ColumnName="IrmaObject_Gid" />
<ScalarProperty Name="IrmaConfiguratieGid" ColumnName="IrmaConfiguratie_Gid" /-->
</EntityTypeMapping>
</ResultMapping>
コメントを削除すると、インポートされた関数の実行は正常に行われますが、列マッピングがない場合、次のエラーが表示されます。
データ リーダーは、指定された 'IrmaModel.IrmaObjectConfiguratie' と互換性がありません。タイプ「IrmaObjectGid」のメンバーには、データ リーダーに同じ名前の対応する列がありません。
EntitySetMapping
回避策として、すべての列マッピングを再度定義できますが、 ?で定義されている列マッピングを使用することもできます。