0

シナリオ:プレゼンテーション層(ASP.NET)、ビジネスロジック層(dll)、データ層(dll)のシナリオがあります。後者には、特定のデータベースのテーブルとストアドプロシージャを保持するLinqTOSQL DataContextファイル(dbml)があります。 。プロジェクト間のリンクは次のとおりです。

依存関係:ビジネスロジックレイヤーにはデータレイヤーのリファレンスがありますプレゼンテーションレイヤーにはビジネスロジックレイヤーのリファレンスがあります

私の問題:問題は、データコンテキストに対応するテーブルタイプのオブジェクトを返す必要がある場合があることですが、プレゼンテーション層にはデータ層への参照がないため、テーブルオブジェクトを使用できません。 。プレゼンテーション層で直接データ層を参照することは良い習慣ですか?または、誰かがプレゼンテーション層からテーブルを実現するための最良の方法を教えてくれますか?

4

1 に答える 1

0

ビジネスロジック層System.Data.Linq.Table<TEntity>にプレゼンテーション層にを返す代わりに、System.Collections.Generic.IEnumerable<TEntity>暗黙のキャストを介して、またはテーブルSystem.Collections.Generic.IList<TEntity>を呼び出すことによってを返すようToList()にします。

dbmlファイルで定義されたオブジェクトはすでにドメイン名前空間にあるように思われるので、この方法ではSystem.Data.Linqプレゼンテーション層で参照する必要はありません。

于 2010-11-10T07:34:33.413 に答える