用于从asp.net mvc中的实体映射业务对象(DTO对象)的工具?
是否有任何工具或实用程序(映射程序集)可以从实体(使用linq->sql、实体框架或其他工具从数据库中获取)构造业务对象 如果没有,谁能建议最好的方法,而不是从实体类复制粘贴属性(我现在正在做的事情)用于从asp.net mvc中的实体映射业务对象(DTO对象)的工具?,asp.net,linq,entity-framework,data-binding,datamapper,Asp.net,Linq,Entity Framework,Data Binding,Datamapper,是否有任何工具或实用程序(映射程序集)可以从实体(使用linq->sql、实体框架或其他工具从数据库中获取)构造业务对象 如果没有,谁能建议最好的方法,而不是从实体类复制粘贴属性(我现在正在做的事情) 您可以通过投影映射到业务对象。即使您的POCO业务对象与您的实体具有不同的形状,这也可以工作 var q = from dataObject in Context.DataObjects select new BusinessObject {
您可以通过投影映射到业务对象。即使您的POCO业务对象与您的实体具有不同的形状,这也可以工作
var q = from dataObject in Context.DataObjects
select new BusinessObject
{
Name = dataObject.Name,
RelatedObjectName = dataObject.RelatedObject.Name, // works even if RelatedObject is null
DirectChildren = from c in dataObject.Children
select new ChildBusinessObject
{
Name = c.Name
// etc.
}
GrandChildren = from c in dataObject.Children
from gc in c.Children
select new ChildBusinessObject
{
Name = c.Name
// etc.
},
// etc.
};
这不是直接回答您的问题-但对于不太复杂的项目,我使用此产品(.NET Object Relational Mapper Tool from DevExpress)使用Automapper的示例,cmapper是一个Meldmapping类
cMapper.FillBusinessObject(ViewModel, BusinessObject); // To map from ViewModel to BO
cMapper.FillModel(BusinessObject, ViewModel); // To map from BO to ViewModel
感谢您的投票:)除了LINQ,您还需要什么?LINQ->sql为我提供数据对象。如何将它们映射到定制的业务对象。?这是伟大的克雷格。你能推荐一些工具吗。?使之自动化。为每个实体手动执行此操作非常繁琐。我发现LINQpad在这方面非常有价值,并且它支持LinqTo实体。不过,它并不是自动完成的。不过,VS智能感知对我来说已经足够了;最终,您只需输入很少的实际查询。我不想完全自动执行,因为如果您只选择业务方法实际需要的相关对象,而不是实体的每个属性,那么性能会大大提高。AutoMapper不会在单个查询中加载相关实体。LINQ会的。你说的是ORM工具。获取数据对象。我现在需要从数据对象构建业务对象。