Linq to Entitiesを使用する場合、個別のデータレイヤーを使用してデータベースアクセスを抽象化する必要がありますか、コードビハインドから直接Linqクエリを作成することは許容されます(または推奨することもできます)(Get、Add、Update、削除機能は既にEntity Frameworkに組み込まれています)。Linq to Entitiesを使用する場合は、別のデータレイヤーが必要ですか?
答えて
私たちはLinq to EFを使用していますが、まだ別のデータレイヤーがあります。
今後、EFを使用したくない場合や、EFがサポートしていないデータベースをサポートする必要がある場合に、今後起こることがあります。抽象化のポイントの一部は、他のレイヤーに影響を与えずにすべてのレイヤーを変更できることです。
私たちのデータレイヤーは、単純なデータオブジェクトのロードと保存よりも少し複雑です。オブジェクトはEFからロードされた後、EFデータ・コンテキストから完全に切断され、ビジネス・オブジェクトに変換されます。 EFによって生成されたデータオブジェクトは、データレイヤーの上に露出されることはありません。 (これは、EFの接続されていないクライアント/サーバーアプリケーションのサポートが不十分なために行われるため、その部分を自分で管理する必要があります)
私の意見では、EntityフレームワークはDALです。一部のアプリケーションではまだ特定のテクノロジなのでラップしていますが、アプリケーション全体から抽象的な特定のテクノロジを試しています。したがって、別のビジネスオブジェクトに移動する必要がある場合、またはビジネスオブジェクトの作成方法を変更する必要がある場合は、アプリケーションの残りの部分に影響を与えずに行うことができます。
これは本当にすべてのOR/Mツールに適用されるので、あなたが得た応答のいくつかは興味深いでしょう。
デッドラインがどれくらい近くにあるか、開発したいアプリケーションのサイズは多分、おそらくはもっと多くのアプリケーションに依存します。
私はそう、データレイヤーを実装すると思います。たとえば、アプリケーションがOracleデータベースを使用して実行する必要がある場合(将来はいつか)、物事は非常に醜いものになるでしょう。
Linq-to-Entitiesは実装の詳細です。データレイヤーは、データとのやりとりから実装を抽象化することを意図しています。これにより、Linq-to-entitiesが適切ではなく、実装を変更する必要があることがわかった場合、システムの堅牢性が保証されます。したがって、はい、あなたはまだデータ層が必要です。
- 1. LINQ to Entities複合クエリ
- 2. Linq-to-Entitiesでlucene.netを使用した人はいますか?
- 3. LINQ to Entitiesサブクエリ
- 4. Linq to Entities - エンドレスエンティティループ
- 5. Linq to Entities Group
- 6. LINQ to Entities Initialization
- 7. Linq to Entities System.data.Objects
- 8. LINQ to ENTITIES select文で変数を使用する方法は?
- 9. LINQ to Entitiesクエリ内でCASTを使用できますか?
- 10. LINQ to Entities別名を使用したテーブルトップ100
- 11. LINQ to Entitiesの式でDateTimeを使用する方法
- 12. LINQ to Entities:合計子の値
- 13. LINQ to Entities to Interface Property
- 14. Linq-to-EntitiesからLinq-to-XMLを選択しますか?
- 15. LINQ to Entitiesクエリを使用してテーブルを結合する方法は?
- 16. LINQ to Entitiesとサブクエリ
- 17. LINQ to Entities 3テーブルジョインクエリ
- 18. Linq to Entities .net4 EF
- 19. Linq to Entities Distinct句
- 20. Order By Linq to Entities
- 21. Linq-To-Entitiesに左外部結合
- 22. LINQ to Entitiesで2回オーダー
- 23. ラムダ式を使用したLINQ-to-Entitiesクエリで可能です
- 24. LINQ to Entitiesを使用した連続するエントリの選択
- 25. Linq linq-to-entitiesは、条件が満たされた場合に結合を追加します。
- 26. Linq to EntitiesがなぜLinq to SQLより難しいのですか
- 27. Linq to Entities 3.5を使用してNULL列を選択する
- 28. LINQ to Entitiesカスタムメソッドを使用するWhere節
- 29. Linq To Entities - リストのフィルタ
- 30. Linq to Entitiesとカラムを逆転する