是否有任何工具或实用程序(映射器程序集)来从实体构造业务对象(使用 linq -> sql 、实体框架或其他从 DB 获得)
在没有一个的情况下,任何人都可以建议可以完成的最佳方法,而不是可以从实体类中复制粘贴属性(我现在正在做的事情)。?
是否有任何工具或实用程序(映射器程序集)来从实体构造业务对象(使用 linq -> sql 、实体框架或其他从 DB 获得)
在没有一个的情况下,任何人都可以建议可以完成的最佳方法,而不是可以从实体类中复制粘贴属性(我现在正在做的事情)。?
您通过投影映射到业务对象。即使您的 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.
};
这不是直接回答您的问题 - 但对于不太复杂的项目,我使用此产品http://www.devexpress.com/Products/NET/ORM/(来自 DevExpress 的 .NET Object-Relational Mapper Tool)
使用 Automapper 的示例,cmapper 是一个 Meldmapping 类,
cMapper.FillBusinessObject(ViewModel, BusinessObject); // To map from ViewModel to BO
cMapper.FillModel(BusinessObject, ViewModel); // To map from BO to ViewModel
感谢您的投票 :)