0

アセンブリの境界を越えてエンティティを渡すことに関するベストプラクティスについての意見を探しています。Linq-To-SQLを使用していますが、同じ質問がEntity Framework、NHibernateなどにも当てはまります。

複数のプロジェクトで再利用したいアセンブリがあります。その中には、これまで内部に保持してきたエンティティがいくつかありますが、エンティティのリストを呼び出し元に返すことが有益であることがわかりました。データをカプセル化するために新しいクラスを作成する必要がありますか、それともエンティティ自体を公開するだけですか。

たとえば、Addressエンティティがあるとします。Addressエンティティを返すメソッドGetAddress(...)がある方がよいでしょうか、それとも同じプロパティを持つ別のクラスを作成してAddressデータを公開する必要がありますか?

ありがとう!

4

2 に答える 2

0

リポジトリを使用してエンティティを外部のアセンブリに公開することを検討することをお勧めします。 これは、EFで使用できる汎用リポジトリに関する優れたCodeProjectの記事です

于 2009-12-11T16:41:25.080 に答える
0

エンティティを公開するだけに一票。実際には、DTO の背後にあるエンティティを非表示にする理由は、実際には関係ありません。たとえば、自動生成されたエンティティ クラスを失う原因となる、まったく別の何かのために内部データ アクセス レイヤーを最後に削除したのはいつですか?

さらに、DTO のみを公開する場合に発生する面倒なマッピング作業を回避することで、時間を節約できます。IMO、リフレクションまたは何かを使用する自動マッピング ツールを使用しても、痛みがないとは見なされません。これは、そうでなければ退屈に支払うものをパフォーマンスに支払うためです。

于 2009-12-11T16:48:38.500 に答える