标签: automapper

忽略使用Automapper映射一个属性

我正在使用Automapper,我有以下场景:类OrderModel有一个名为'ProductName'的属性,它不在数据库中.所以当我尝试使用以下方法进行映射时:

Mapper.CreateMap<OrderModel, Orders>(); 
Run Code Online (Sandbox Code Playgroud)

它会生成一个异常:

"Project.ViewModels.OrderModel上的以下1个属性未映射:'ProductName'

我已经阅读了AutoMapper的Wiki for Projections相反的情况(额外的属性在目的地,而不是在源,这实际上是我的情况)

如何避免使用automapper来映射此属性?

c# model viewmodel automapper object-object-mapping

263
推荐指数
6
解决办法
19万
查看次数

自动映射:更新属性值而不创建新对象

如何在不创建新对象的情况下使用automapper更新另一个对象的属性值?

.net c# automapper

243
推荐指数
3
解决办法
5万
查看次数

如何在ASP.NET Core中设置Automapper

我是.NET的新手,我决定解决.NET Core而不是学习"老方法".我在这里找到了一篇关于为.NET Core设置AutoMapper的详细文章,但新手有更简单的演练吗?

c# automapper asp.net-core

219
推荐指数
13
解决办法
13万
查看次数

在哪里放置AutoMapper.CreateMaps?

我使用AutoMapper中的ASP.NET MVC应用程序.有人告诉我,我应该搬到AutoMapper.CreateMap其他地方,因为他们有很多开销.我不太确定如何设计我的应用程序将这些调用放在一个地方.

我有一个Web层,服务层和数据层.每个项目都有自己的.我用NinjectDI来做一切.我将AutoMapper在网络和服务层使用.

那么你AutoMapper的CreateMap 设置是什么?你把它放在哪里?你怎么称呼它?

asp.net-mvc configuration design-patterns automapper

213
推荐指数
8
解决办法
9万
查看次数

AutoMapper与ValueInjecter

每次我在StackOverflow上寻找AutoMapper时,我都在阅读有关ValueInjecter的内容.

有人能告诉我它们之间的优缺点(性能,功能,API使用,可扩展性,测试)吗?

.net c# automapper object-object-mapping valueinjecter

209
推荐指数
4
解决办法
5万
查看次数

AutoMapper:"忽略其余的"?

有没有办法告诉AutoMapper忽略除明确映射的属性之外的所有属性?

我有外部DTO类可能会从外部更改,我想避免指定要显式忽略的每个属性,因为添加新属性会在尝试将它们映射到我自己的对象时破坏功能(导致异常).

.net automapper

196
推荐指数
13
解决办法
7万
查看次数

如何在属性名称不同时指定映射规则

我是Automapper框架的新手.我有一个域类和一个DTO类,如下所示:

public class Employee
{
   public long Id {get;set;}
   public string Name {get;set;}
   public string Phone {get;set;}
   public string Fax {get;set;}
   public DateTime DateOfBirth {get;set;}
}

public class EmployeeDto
{
   public long Id {get;set;}
   public string FullName {get;set;}
   public DateTime DateOfBirth {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

注意:类的属性" Name "的名称Employee类的属性" FullName "的名称不同EmployeeDto.

这是将Employee对象映射到的代码EmployeeDto:

Mapper.CreateMap<Employee, EmployeeDto>(); // code line (***)
EmployeeDto dto = Mapper.Map<Employee, EmployeeDto>(employee); 
Run Code Online (Sandbox Code Playgroud)

我的问题是:如果我想将Employee(源类)映射到EmployeeDto(目标类),我该如何指定映射规则?换句话说,我应该如何处理上面的代码行(***)?

c# automapper

139
推荐指数
3
解决办法
5万
查看次数

自动映射 - 如何映射到构造函数参数而不是属性设置器

如果我的目标setter是私有的,我可能想使用目标对象的构造函数映射到该对象.你会如何使用Automapper做到这一点?

constructor automapper

99
推荐指数
5
解决办法
5万
查看次数

如何在POST操作中将View Model映射回Domain Model?

互联网上使用ViewModels并使用Automapper的每篇文章都提供了"Controller - > View"方向映射的指导.您将域模型与所有选择列表一起放入一个专门的ViewModel并将其传递给视图.这很清楚也很好.
视图有一个表单,最终我们处于POST操作中.这里所有的模型绑定器与[显然]另一个视图模型一起来到现场,它显然与原始的ViewModel 相关,至少在命名约定方面是为了绑定和验证.

如何将其映射到您的域模型?

让它成为插入动作,我们可以使用相同的Automapper.但如果是更新动作怎么办?我们必须从Repository中检索我们的Domain Entity,根据ViewModel中的值更新它的属性并保存到Repository.

附录1(2010年2月9日):有时,分配模型的属性是不够的.应根据View Model的值对域模型采取一些措施.即,应该在域模型上调用一些方法.可能应该有一种位于Controller和Domain之间的应用服务层,以便处理View Models ...


如何组织此代码以及将其放置在何处以实现以下目标?

  • 保持控制器薄
  • 荣誉SoC实践
  • 遵循领域驱动设计原则
  • 干嘛
  • 未完待续 ...

asp.net-mvc domain-driven-design separation-of-concerns viewmodel automapper

85
推荐指数
3
解决办法
2万
查看次数

如何使用AutoMapper .ForMember?

我正在尝试设置AutoMapper以从实体转换为DTO.我知道我应该使用.ForMember()Mapper.CreateMap<Entity, DTO>()设置自定义映射,但是这似乎并没有成为一个有效的方法.

编辑以供澄清:我不是要查找我已阅读的文档的链接,或者是基本语法的解释.我正在使用答案和文档中描述的正确语法,例如:

Mapper.CreateMap<EFAddress, Address>()
      .ForMember(dest => dest.Code, opt => opt.MapFrom(src => src.Name));
Run Code Online (Sandbox Code Playgroud)

如果我在CreateMap <>中有一个无效的类型名称,我可以看到"ForMember"作为一个有效的方法,鼠标悬停显示方法签名,正如我通常所期望的那样.但是,只要我给它两个有效类型,ForMember说它无法解析符号,就好像该方法不可用一样.

对于我没有遇到的泛型类,是否存在某种约束?

谢谢

.net automapper

78
推荐指数
3
解决办法
7万
查看次数