我最近启动了一个新的webforms项目,并决定将业务类与任何DBML引用分开。我的业务层类访问离散的数据层方法,并且是DTO的返回集合。因此,数据层可以投射DTO的类似如下:Linq To SQL和DTO的分离问题
(from c in dataContext.Customers
where c.Active == true
select new DTO.Customer
{
CustomerID = c.CustomerID,
Name = c.CustomerName,
...
}).ToList()
虽然建立DTO对象增加了工作,这种感觉就像一个更好的方法,以紧密结合业务&之间的数据层和意味着我可以测试业务层,而不一个数据库存在。
我的问题是,这是一个很好的做法吗?是否有生成DTO的方法(可能通过SQLMetal),以及随着项目的进展可能会遇到什么其他问题。
我已经发布了一些关于外部XML映射的链接:http://stackoverflow.com/questions/988872/linq-to-sql-external-mapping/1136039#1136039 – alexandrul 2009-07-16 07:58:29