.net 当使用LINQ到SQL时,在层之间传递对象的选项是什么?

.net 当使用LINQ到SQL时,在层之间传递对象的选项是什么?,.net,linq-to-sql,data-layers,.net,Linq To Sql,Data Layers,在考虑传统的分层应用程序设计时,我通常会考虑三层: 实际上与数据库对话的最底层(让我们称之为“数据访问层”)。它将对象(以某种形式)返回到下一层 最底层之上的层(中间层,我称之为“数据层”)从数据访问层获取对象,并将域对象返回到业务层 业务层从数据层获取域对象并处理它们 这当然是一个过于简化的解释,可能是难以置信的错误!:) 显然,由于LINQtoSQL是一种ORM,数据访问层正在创建LINQtoSQL对象。将这些对象传递到中间层和顶层的正确模式是什么?您可以使用AutoMapper之类的技

在考虑传统的分层应用程序设计时,我通常会考虑三层:

  • 实际上与数据库对话的最底层(让我们称之为“数据访问层”)。它将对象(以某种形式)返回到下一层
  • 最底层之上的层(中间层,我称之为“数据层”)从数据访问层获取对象,并将域对象返回到业务层
  • 业务层从数据层获取域对象并处理它们
这当然是一个过于简化的解释,可能是难以置信的错误!:)


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

您可以使用AutoMapper之类的技术将LINQ to SQL对象复制到业务层中的业务对象中。根据您的场景,您可以将另一层数据传输对象传递回客户端。您可以再次使用AutoMapper将适当的属性从业务对象复制到DTO对象


您可以使用AutoMapper之类的技术将LINQ to SQL对象复制到业务层中的业务对象中。根据您的场景,您可以将另一层数据传输对象传递回客户端。您可以再次使用AutoMapper将适当的属性从业务对象复制到DTO对象