3 layered & Linq to Sql - 业务实体

Posted

技术标签:

【中文标题】3 layered & Linq to Sql - 业务实体【英文标题】:3 layered & Linq to Sql - Business entities 【发布时间】:2011-05-21 00:43:27 【问题描述】:

据我了解,三层模型是 UI、BLL 和 DAL。现在假设编写 insertData() 功能,在这种情况下,我会将所有 UI 控件值绑定到业务实体并传递给 BLL --> DAL(因为所有 3 层都可以访问业务实体)。让 DAL 用 Linq to SQL 替换,现在我很困惑,Linq to SQL 将创建类(等于业务实体),另一方面,我在我的项目解决方案中也有业务实体,

Q1) 我需要同时拥有 B-entity 和 L2S 类吗? Q2) 是否可以删除业务实体和 L2S 类以以相同的方式使用?如果是这样怎么办? Q3) 更好的主意?

感谢您的帮助。

瑜伽

【问题讨论】:

【参考方案1】:

可以将 POCO(您的 BLL 层类)与 Linq to SQL 一起使用;谷歌搜索“Linq to SQL POCO”(here is one blog post)。

如果您正在开始一个新项目,也可能值得研究 Entity Framework 而不是 Linq to SQL(或者如果您可以使用非 MS 库,甚至可能是 NHibernate;3.0 版本刚刚发布,我相信它支持 Linq)。

【讨论】:

以上是关于3 layered & Linq to Sql - 业务实体的主要内容,如果未能解决你的问题,请参考以下文章

Linq&Lumda---LINQ to DataSet的DataTable操作

LINQ to NHibernate - 如何检测失败的翻译

Linq TO Entities Exists 和 contains 之间的区别

Linq XML to Object,其中 xml 节点具有嵌套元素

Linq to objects - 选择第一个对象

Linq中类型转换