Questions tagged «automapper»

NET的基于约定的对象到对象映射器和转换器

8
忽略使用Automapper映射一个属性
我正在使用Automapper,并且有以下情况:类OrderModel具有一个不在数据库中的名为“ ProductName”的属性。因此,当我尝试使用以下方法进行映射时: Mapper.CreateMap<OrderModel, Orders>(); 它产生一个异常: “未映射Project.ViewModels.OrderModel上的以下1个属性:'ProductName' 我已经在AutoMapper的Wiki for Projections中阅读了相反的情况(多余的属性在目标上,而不是在源中,这实际上是我的情况) 如何避免自动映射器对此属性进行映射?



10
在哪里放置AutoMapper.CreateMaps?
我正在使用 AutoMapper在ASP.NET MVC应用程序中使用。有人告诉我,我应该将AutoMapper.CreateMap其他位置移到其他地方,因为它们的开销很大。我不太确定如何设计我的应用程序以将这些调用放在一个地方。 我有一个Web层,服务层和一个数据层。每个项目都有自己的项目。我用Ninject一切都去DI。我将AutoMapper在Web和服务层中利用。 那么,您对AutoMapper“ CreateMap”的设置是什么?你放在哪里?你怎么称呼它?

4
AutoMapper与ValueInjecter [关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 每当我在StackOverflow上寻找AutoMapper内容时,我都会在阅读有关ValueInjecter的内容。 有人可以告诉我它们之间的优缺点(性能,功能,API使用率,可扩展性,测试)吗?

17
AutoMapper:“忽略其余部分”吗?
有没有办法告诉AutoMapper忽略除显式映射的那些属性以外的所有属性? 我有可能从外部更改的外部DTO类,并且我想避免指定要显式忽略的每个属性,因为添加新属性会在尝试将它们映射到我自己的对象时破坏功能(导致异常)。
205 .net  automapper 

3
属性名称不同时如何指定映射规则
我是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;} } 注意:类的属性“ Name ”的名称与Employee类的属性“ FullName ”的名称不同EmployeeDto。 这是将Employee对象映射到的代码EmployeeDto: Mapper.CreateMap<Employee, …
144 c#  automapper 

5
如何使用AutoMapper .ForMember?
我正在尝试将AutoMapper设置为从Entity转换为DTO。我知道我应该在.ForMember()之后Mapper.CreateMap<Entity, DTO>()用来设置自定义映射,但这似乎不是可用的方法。 编辑以进行澄清:我不是在寻找我已阅读的文档链接,也不是基本语法的解释。我使用的是答案和文档中描述的正确语法,例如: Mapper.CreateMap<EFAddress, Address>() .ForMember(dest => dest.Code, opt => opt.MapFrom(src => src.Name)); 如果我在CreateMap <>中具有无效的类型名称,则可以看到“ ForMember”为有效方法,将鼠标悬停会显示该方法签名,正如我通常期望的那样。但是,一旦我给它两个有效的类型,ForMember便说它无法解析该符号,就好像该方法不可用一样。 我没有遇到的通用类受到某种约束吗? 谢谢
88 .net  automapper 

4
如何在POST操作中将视图模型映射回域模型?
互联网上有关使用ViewModels和Automapper的每篇文章都提供了“ Controller-> View”方向映射的指南。您将域模型与所有选择列表一起放入一个专用的ViewModel中,并将其传递给视图。很好。 该视图具有一个表单,最终我们处于POST操作中。在这里,所有的Model Binders和另一个[显然]的View Model [显然]至少在命名约定的一部分方面与原始ViewModel有关,这显然是为了绑定和验证。 您如何将其映射到您的域模型? 让它成为一个插入动作,我们可以使用相同的Automapper。但是,如果这是更新操作,该怎么办?我们必须从存储库中检索域实体,根据ViewModel中的值更新其属性,然后将其保存到存储库中。 附录1(2010年2月9日):有时,仅分配Model的属性是不够的。应该根据视图模型的值对域模型采取一些措施。即,应在域模型上调用某些方法。可能应该在控制器和域之间存在一种应用程序服务层,以便处理视图模型... 如何组织此代码以及将其放置在何处以实现以下目标? 保持控制器薄 荣誉SoC实践 遵循领域驱动设计原则 干燥 未完待续 ...


12
Automapper缺少类型映射配置或不支持的映射-错误
实体模型 public partial class Categoies { public Categoies() { this.Posts = new HashSet<Posts>(); } public int Id { get; set; } public string Name { get; set; } public string Description { get; set; } public Nullable<int> PositionId { get; set; } public virtual CategoryPositions CategoryPositions { get; set; } …

6
AutoMapper从多个来源转换
假设我有两个模型类: public class People { public string FirstName {get;set;} public string LastName {get;set;} } 还有一个班级的电话: public class Phone { public string Number {get;set;} } 我想这样转换为PeoplePhoneDto: public class PeoplePhoneDto { public string FirstName {get;set;} public string LastName {get;set;} public string PhoneNumber {get;set;} } 假设在我的控制器中我有: var people = repository.GetPeople(1); var phone = …
79 c#  automapper 

5
将对象复制到对象(使用Automapper吗?)
我有一堂课: public class Person { public string FirstName { get; set; } public string LastName { get; set; } } 我有两个Person实例(person1和person2)。我想将person2的内容复制到person1。我想在一个指令中制作此副本,而不是按属性制作: person1.LastName = person2.LastName; 在文档中,我看到将一个对象复制到另一个对象,但是类型不同。类型相同时如何复制对象?
77 c#  automapper 

10
NuGet软件包管理器:'AutoMapper'已经具有为'Microsoft.CSharp'定义的依赖项
我正在尝试在Visual Studio Premium 2012上使用NuGet将AutoMapper作为依赖项添加到项目中,但是失败。 它说: 操作失败 'AutoMapper'已经具有为'Microsoft.CSharp'定义的依赖项。 我能够添加其他依赖项。 我正在使用VS 2012的包管理器的最新版本: NuGet软件包管理器2.8.60318.667 有什么想法我应该检查什么?

5
自动映射器-多对象源和一个目标
我正在使用自动映射器来映射多个对象(将db类转换为ui对象)。 地图1: Mapper.CreateMap<sourceone, destination>().ForMember(sss => sss.one, m => m.MapFrom(source => source.abc)); 地图2: Mapper.CreateMap<sourcetwo, destination>().ForMember(sss => sss.two, m => m.MapFrom(source => source.xyz)); destination d = new destination(); //地图1 d = AutoMapper.Mapper.Map<sourceone, destination>(sourceone); //地图2 d = AutoMapper.Mapper.Map<sourcetwo, destination>(sourcetwo); 一旦我调用“地图2”,使用地图1填充的值就会丢失..(即destination.one变为空)。我该如何解决?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.