3

アプリでDALを作成するためにLINQ-to-SQLを使用することを検討しています。私はORM(抽象化IMOが多すぎる)の大ファンではないため、通常は手動でDALを作成しますが、せっかちなクライアントのために時間を節約しようとしています。

私の質問は、LINQ-to-SQLによって生成されたクラスをBLLクラスにどのようにマッピングするかということです。LINQ-to-SQLによって生成されたクラス(部分的なクラス)にコードを追加するだけで、BLLクラスをまったく作成しませんか(クラスはDALクラスとBLLクラスの両方として機能します)、または通常はどのように行いますかそれ?

ありがとう

4

1 に答える 1

7

重要な違いは、LINQ to SQLには実際には2つの部分があることを認識することです。所有するエンティティクラス(ソリューションで生成または手書きされる)と、LINQ式をSQLに変換するという手間のかかる作業を行うLINQtoSQLライブラリです。結果を予測します。前者はあなたのBLLであり、後者はあなたのDALです。DALはエンティティに依存しない(またはBLLに依存しない)ため、LINQtoSQLモデルはほとんどこれを満たします。エンティティはDALとの結合が非常に緩いです。必要に応じて、DALとは別に完全に使用できます。

つまり、LINQ to SQLモデルはDALとBLLの両方の役割を果たすことができますが、両方に1つのモデルを使用しているからといって、2つのレイヤーを不適切に組み合わせているわけではありません。

于 2009-09-08T03:58:24.763 に答える