2012-04-16 11 views
3

公開鍵なしでEF内にエンティティを作成したいとします。バッキングテーブルには一意でないクラスタ化キーがありますが、テーブル内のデータには概念的に使用できる一意のプライマリキーがありません。公開鍵のないEFエンティティ

EFのように見えません。 EFがテーブルにプライマリキーがないことを受け入れる方法はありますか?結果が読み取り専用かどうかは気にしません。

答えて

2

私が理解しているように、Entity FrameworkはEntityのDomain Driven Designの概念に基づいているため、各Entityには一意の識別子が必要です。テーブル内のデータが表す概念が概念的に一意の識別子を持たない場合、フレームワークが意図する意味ではエンティティではありません。

これを念頭において、私はストアドプロシージャを定義してthrough my object contextを利用可能にし、このデータをカプセル化するオブジェクトを、データを遅延ロードするクラスを介して使用可能にし、使用しているオブジェクトに手動でマップします。それを読み取り専用の方法で提示する。

0

ビューを公開し、エンティティをビューにマッピングすることで、これを実現することもできます。