LINQ エンティティ クラスの作成時に POCO ドメイン モデルが破損しますか?
-
12-09-2019 - |
質問
次のような C# クラスから作成されたドメイン モデルがあるとします。
public class MyClass
{
public string MyProperty { get; set; }
}
モデルとともに、IoC のリポジトリ インターフェイス クラスを定義しました。
ここで、LINQ マッピングを使用して、この POCO ドメイン モデルをエンティティ クラスのセットに変換しようとしています。(このアプローチは、私が読んでいる MVC に関する本で推奨されていました。) 上記の例では、クラスの「単純な古さ」に影響を与えることなく、いくつかの属性を使用してこれを行うのが十分簡単でした。
[Table]
public class MyClass
{
[Column]
public string MyProperty { get; set; }
}
問題は、関連付けのマッピングや変更の変更などを開始するときに発生します。ドメイン モデルの元の概念をすぐに破壊し、代わりに単純に LINQ-to-SQL クラスのセットを作成しているようです。何かが足りないのでしょうか?これらのクラスは依然としてビジネス ロジックの正しい場所でしょうか?LINQ 以外、DB 以外のソースからこれらのクラスにデータを読み込むことは今後も可能ですか? また、引き続き行う必要がありますか?
ありがとう
解決
この記事では、さらに上のSO、私の質問に答えます(感謝グーグル)
エンティティクラスLINQから分離リポジトリのパターンを実装するためのSQLプロバイダへ。どうですか
EDITます:
まあそうでないかもしれない、これは、エンティティ・クラスについての共通の不満ですか?
ANOTHER EDITます:
[OK]を、ので、基本的にこれは、現時点では行うことはできませんが、.NET 4.0で可能になってます。
他のヒント
このような質問は他にもいくつかありました。
今週末 EF4 で遊んでみました。フォローしてください ジュリー・ラーマンのブログ投稿シリーズ EF4 でリポジトリ パターンを実装します。うまく機能しますが、まだ完全に単純ではありません...
私の知る限り、EF3.5 でこれを行う方法はありません。幸運を。