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