次の 2 つの記事 (1 番目と 2 番目) に出くわしました。この記事の著者は、ORM エンティティとドメイン エンティティを混同すべきではないと要約しています。
Code First アプローチを使用して EF 6.0 でコードを作成しているとき、私はまさにこの問題に直面しています。POCO クラスを EF のエンティティとして、またドメイン/ビジネス オブジェクトとして使用します。しかし、プロパティを public として定義したり、ナビゲーション プロパティを virtual として定義したりする状況に陥ることはよくあります。これは、EF フレームワークで強制的にそうする必要があるためです。
2 つの記事の結論として何を理解すればよいかわかりません。たとえば、エンティティ フレームワーク用の CustomerEF クラスとドメイン用の CustomerD を実際に作成する必要があります。次に、CustomerD を使用するリポジトリを作成し、それを CustomerEF にマップし、いくつかのクエリを実行してから、受信した CustomerEF を CustomerD にマップします。EF とは、ドメイン エンティティをデータにマッピングすることだと思っていました。
ですから、アドバイスをお願いします。EF が私に提供できる重要なことを見落としていませんか? それとも、これは EF では完全に解決できない問題ですか? 後者の場合、この問題を管理する良い方法は何ですか?