【问题标题】:Can mapping the results of a linq query being mapped to a class be simplified?可以简化将 linq 查询的结果映射到类的映射吗?
【发布时间】:2013-06-13 23:03:59
【问题描述】:

我有一个名为 Customer 的类,它有几个属性,即 FirstName、LastName、City、State

Customer 类有一些数据注释来修复命名和其他事情。 (这个类被用作 MVC 的模型)

我有一个针对具有相同字段的 EF5 实体的 Linq 查询。除了:

customer.FirstName = item.FirstName;
customer.LastName = item.LastName; 
customer.City = item.City; 
etc.....

我遇到了对 automapper(和其他)的引用,但想知道基于结果和类的相同性质还有其他选项吗?

【问题讨论】:

  • 实际上只有两个选项:通过 AutoMapper 之类的自动化或手动执行对象到对象的映射。就我个人而言,我在最初的项目中使用 AutoMapper,但是,我已经切换到手动操作。

标签: linq entity-framework


【解决方案1】:

如果您当时正在创建对象,使用对象初始化器可能是最简洁的编码解决方案。

var model = new myMvcModel()
{
    FirstName = input.FirstName,
    LastName = input.LastName,
    City = input.City
}

否则,使用 Ek0nomik 建议的反射或 AutoMapper 是我可以建议的唯一解决方案。

和 Ek0nomik 一样,我更喜欢手动而不是 AutoMapper。甚至创建了一个 VS 宏来检查两个对象并输出一些脚手架。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-13
    • 2020-01-28
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    相关资源
    最近更新 更多