質問

私は、アセンブリの境界を越えてエンティティを渡しに関してのベストプラクティスについて意見を探しています。私は、LINQのツーSQLを使用していますが、同じ質問がなどEntity Frameworkは、NHibernateのに適用されます。

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

たとえば、のは、私は住所エンティティを持っているとしましょう。アドレスエンティティを返すか、私はアドレスデータを公開するために、同じプロパティを持つ別のクラスを作成する必要があります方法のgetAddress(...)を持っている方が良いでしょうか?

ありがとうございます。

役に立ちましたか?

解決

ちょうどエンティティを露出させるための一票。実際には、背後のDTOエンティティを隠す理由は、実際に関連されていない終わります。たとえば、ときあなたが自動生成されたエンティティクラスを失うことを引き起こしているだろう全く別の何かのためにあなたの内部のデータアクセス層をリッピング最後の時間でしたか?

プラスあなたが唯一のDTOを公開したときにすさまじい痛みを伴うマッピング行使を回避することにより、時間を節約するために取得します。 IMO、今あなたがそうでなければ退屈に支払うことになるどのようなパフォーマンスに支払うので痛みなしとしてカウントされません反射か何かを使用して自動マッピングツールを持っています。

他のヒント

あなたは外のアセンブリへのエンティティを公開するリポジトリを使用して検討する必要があります。 ここのEFで使用できる汎用的なリポジトリに大きなCodeProjectの記事ですます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top