使用LINQ to SQL时,在层之间传递对象有哪些选项?

时间:2010-08-02 15:54:00

标签: .net linq-to-sql data-layers

在考虑传统的分层应用程序设计时,我经常考虑3层:

  • 实际与数据库对话的最底层(让我们将其称为“数据访问层”)。它将对象(以某种形式)返回到下一层。
  • 最底层(中间层,我称之为“数据层”)上方的图层从数据访问层获取对象,并将域对象返回到业务层。
  • 业务层从数据层获取域对象并使用它们执行操作。

这肯定是一个过于简化的解释,可能非常错误! :)

显然,LINQ to SQL是一个ORM,数据访问层正在创建LINQ to SQL对象。将这些对象传递到中间层和顶层的正确模式是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用AutoMapper等技术将LINQ to SQL Objects复制到业务层中的Business Objects中。根据您的方案,您可以将另一层数据传输对象传递回客户端。您可以再次使用AutoMapper将相应的属性从Business Objects复制到DTO对象。

http://en.wikipedia.org/wiki/Data_transfer_object

http://automapper.codeplex.com/