0

これは、非常に一般的なデータベースを使用するエンタープライズ アプリケーションに関するものです (すべてのオブジェクトは、データベース内のデータを使用して識別され、国際化/グローバル化/ローカライズされています)。

  • リポジトリ パターンのモデルを作成し、DB アクセス (LINQ2SQL または EF) の別のモデルを作成 (1:1 生成) し、後でそれをリポジトリ モデルのデータ アクセス レイヤーとして使用しますか?
  • L2S/EF/NHibernate モデルを直接使用し、モデルを DB にマッピングして永続化レイヤーを開くだけですか?

このデュアル モデルのアイデア (リポジトリ パターン) は、L2S/EF モデルをデュアル モデル環境で直接使用する場合に、動的にスタック可能な LINQ 検索クエリを可能にする問題をポップアップ表示しますか?

お知らせ下さい。

4

2 に答える 2

0

リポジトリで IQueryable オブジェクトを公開している限り、提案した方法でクエリをスタックすることに問題はありません。

遅延読み込みは期待どおりにサポートされていないため、これに Entity Framework を使用することには注意が必要です。Linq to SQL は遅延読み込みを問題なく処理します。

Entity Framework での遅延読み込みの詳細については、
http ://www.singingeels.com/Articles/Entity_Framework_and_Lazy_Loading.aspx を参照してください。

于 2009-08-01T03:48:01.500 に答える
0

シャープな建築をご覧ください。

リポジトリ オブジェクトから IQueryable を返すことに関して、私の意見では、そのようなことを行うと、アプリケーション内の関心事項の適切な分離がぼやけます。私はすべて、データ アクセス レイヤー内で IQueryable を操作することに賛成ですが、オブジェクトを IQueryable として返し始めると、コントローラーやビューがデータ アクセスに干渉し始める機会を提供します。そのようなことは、アプリケーションのテスト容易性にも悪影響を及ぼす可能性があります。

于 2009-08-01T03:58:09.233 に答える