0

是否有任何工具或实用程序(映射器程序集)来从实体构造业务对象(使用 linq -> sql 、实体框架或其他从 DB 获得)

在没有一个的情况下,任何人都可以建议可以完成的最佳方法,而不是可以从实体类中复制粘贴属性(我现在正在做的事情)。?

维杰

4

4 回答 4

9

自动映射器

于 2009-08-27T14:36:34.900 回答
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.
        };
于 2009-08-27T14:07:48.563 回答
0

这不是直接回答您的问题 - 但对于不太复杂的项目,我使用此产品http://www.devexpress.com/Products/NET/ORM/(来自 DevExpress 的 .NET Object-Relational Mapper Tool)

于 2009-08-27T15:21:52.153 回答
0

使用 Automapper 的示例,cmapper 是一个 Meldmapping 类,

 cMapper.FillBusinessObject(ViewModel, BusinessObject);  // To map from ViewModel to BO

 cMapper.FillModel(BusinessObject, ViewModel);  // To map from BO to ViewModel

感谢您的投票 :)

于 2014-09-02T09:58:04.153 回答