公開鍵なしで EF にエンティティを作成したいと考えています。バッキング テーブルには一意ではないクラスター化されたキーがありますが、テーブル内のデータには概念上、使用できる一意の主キーがありません。
EFはこれが本当に気に入らないようです。テーブルに主キーがないことをEFに受け入れさせ、パフォーマンスに影響を与えずにとにかく動作させる方法はありますか? 結果が読み取り専用かどうかは気にしません。
公開鍵なしで EF にエンティティを作成したいと考えています。バッキング テーブルには一意ではないクラスター化されたキーがありますが、テーブル内のデータには概念上、使用できる一意の主キーがありません。
EFはこれが本当に気に入らないようです。テーブルに主キーがないことをEFに受け入れさせ、パフォーマンスに影響を与えずにとにかく動作させる方法はありますか? 結果が読み取り専用かどうかは気にしません。
私が理解しているように、Entity Framework はエンティティのドメイン駆動設計の概念に基づいているため、定義上、各エンティティには一意の識別子が必要です。テーブル内のデータが表す概念が概念的に一意の識別子を持たない場合、フレームワークが意図する意味ではエンティティではありません。
これを念頭に置いて、ストアド プロシージャを定義し、オブジェクト コンテキストを介して利用できるようにし、このデータをカプセル化するオブジェクトを、データを遅延読み込みするクラスを介して利用できるようにし、使用しているオブジェクトに手動でマップして提示します読み取り専用で。
ビューを公開し、エンティティをビューにマッピングすることで、これを達成できる場合もあります。