代码之家  ›  专栏  ›  技术社区  ›  vijaysylvester

用于从ASP.NET MVC中的实体映射业务对象(DTO对象)的工具?

  •  0
  • vijaysylvester  · 技术社区  · 16 年前

    是否有任何工具或实用程序(映射器程序集)从实体(使用LINQ->SQL、实体框架或其他任何工具从数据库获取)构造业务对象?

    如果没有,是否有人能建议最好的方法来完成,而不是从实体类复制粘贴属性(我现在正在做的事情)。

    vijay

    4 回复  |  直到 7 年前
        1
  •  4
  •   Craig Stuntz    15 年前

    通过投影映射到业务对象。即使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
  •  9
  •   TGnat    15 年前
        3
  •  0
  •   lstanczyk    15 年前

    这不是直接回答您的问题-但对于不太复杂的项目,我使用此产品 http://www.devexpress.com/Products/NET/ORM/ (来自devexpress的.NET对象关系映射器工具)

        4
  •  0
  •   karim    10 年前

    使用automapper的示例,cmapper是一个meldmapping类,

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

    感谢投票:)