如何将LINQ-to-SQL映射到BLL类?

时间:2009-09-08 03:50:08

标签: .net linq linq-to-sql bll

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

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

由于

1 个答案:

答案 0 :(得分:7)

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

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