私は常に、自分のビジネスロジックとUIコードとは完全に別の「レイヤー」でデータアクセスコードを処理することを学びました。これは常に私にとって非常に優れたアーキテクチャであり、私が目にするすべての「ルール」またはベストプラクティスは、このスタイルのコーディング、特に単一責任の原則にうまく適合しています。
ほとんどのホームプロジェクトでは、私が作成した独自のORMを使用します。これは、常にオープンソースを作成することを目的としていました。しかし、それ以来、LINQが利用可能になりました。これは、私のORMが機能する方法と非常によく似ていました(しかし、より優れています)。
以前に自分のORMを使用して、今はLINQを使用して実行できないことはありません(REST統合のビットを除く)。だから私の質問です。LINQは新しいデータアクセスレイヤーですか?このレイヤーはもう必要ですか?私のBLLはLINQと直接通信する必要がありますか?それとも、この悪い習慣はまだですか?
編集:
元の質問はLINQ to Entitiesに関するものでしたが、LINQ to SQLに関しては興味深い答えがたくさんあります。両方の人々の考えは何ですか?LINQ to SQLでDALを実際に置き換えることはできませんが、Entity Frameworkは収集できますか?