用于从asp.net mvc中的实体映射业务对象(DTO对象)的工具?

时间:2009-08-27 12:38:19

标签: asp.net linq entity-framework data-binding datamapper

是否有任何工具或实用程序(映射器程序集)从实体构建业务对象(使用linq从&DB获取的数据 - > sql,实体框架或其他...)

如果没有,可以有人建议可以完成的最佳方式,而不是从实体类中复制粘贴属性(我现在正在做的)。?

vijay

4 个答案:

答案 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

感谢您投票:)