3

我正在考虑使用 LINQ-to-SQL 在我的应用程序中创建 DAL。我通常手动创建 DAL,因为我不是 ORM(太多抽象 IMO)的忠实粉丝,但我试图为不耐烦的客户节省一些时间。

我的问题是,如何将 LINQ-to-SQL 生成的类映射到 BLL 类?您是否只是将代码添加到由 LINQ-to-SQL 生成的类(它们是部分类)并且根本不创建 BLL 类(因此该类既可以作为 DAL 类也可以作为 BLL 类工作)或者您通常如何做它?

谢谢

4

1 回答 1

7

重要的区别是认识到 LINQ to SQL 实际上有两个部分:您拥有的实体类 - 它们是在您的解决方案中生成或手写的 - 以及 LINQ to SQL 库,它们负责将 LINQ 表达式转换为 SQL 的繁重工作并预测结果。前者是你的 BLL,后者是你的 DAL。LINQ to SQL 模型主要实现了这一点,因为 DAL 与实体无关(或 BLL 无关);并且您的实体与 DAL 的耦合非常松散;如有必要,它们可以完全与 DAL 分开使用。

所以,简短的回答是 LINQ to SQL 模型可以同时满足 DAL 和 BLL 角色,但仅仅因为您对两者使用一个模型并不意味着您不恰当地组合了这两个层。

于 2009-09-08T03:58:24.763 回答