jjzjj

Automapper

全部标签

c# - AutoMapper:手动设置属性

我正在使用AutoMapper将平面DataObjects映射到胖BusinessObjects,反之亦然。我注意到,由于BusinessObjects的更改通知(使用自定义验证实现INotifyPropertyChanged等),从DataObjects到BusinessObjects的映射需要额外的时间。因为在映射期间我通常不需要更改通知,所以我想将其关闭。所以我添加了一个属性“IsPropertyChangedEnabled”。如果此属性设置为false,则不会引发NotifyPropertyChanged事件并节省时间。问题:我可以告诉AutoMapper在映射过程的最开始将此

c# - Automapper 说 Mapper.Map 已过时,全局映射?

我在我的项目中定义了一个全局Automapper配置,它允许我使用Mapper.Map(sourceObject);在我的代码中。(请参阅下面我的配置。)我更新了NuGet包,我看到了Mapper.Map已过时/已弃用的消息。我回到GitHub上的Automapper,看到了这样的例子:[Test]publicvoidExample(){varconfig=newMapperConfiguration(cfg=>{cfg.CreateMap().FixRootDest();cfg.CreateMap().FixRootDest();});config.AssertConfigurati

c# - Automapper 说 Mapper.Map 已过时,全局映射?

我在我的项目中定义了一个全局Automapper配置,它允许我使用Mapper.Map(sourceObject);在我的代码中。(请参阅下面我的配置。)我更新了NuGet包,我看到了Mapper.Map已过时/已弃用的消息。我回到GitHub上的Automapper,看到了这样的例子:[Test]publicvoidExample(){varconfig=newMapperConfiguration(cfg=>{cfg.CreateMap().FixRootDest();cfg.CreateMap().FixRootDest();});config.AssertConfigurati

c# - 使用 Automapper 进行深度映射

我正在尝试映射具有多级成员的对象:这些是类(class):publicclassFather{publicintId{get;set;}publicSonSon{get;set;}}publicclassFatherModel{publicintId{get;set;}publicintSonId{get;set;}}publicclassSon{publicintId{get;set;}}这就是我尝试自动映射它的方式:AutoMapper.Mapper.CreateMap().ForMember(dest=>dest.Son.Id,opt=>opt.MapFrom(src=>src.

c# - 使用 Automapper 进行深度映射

我正在尝试映射具有多级成员的对象:这些是类(class):publicclassFather{publicintId{get;set;}publicSonSon{get;set;}}publicclassFatherModel{publicintId{get;set;}publicintSonId{get;set;}}publicclassSon{publicintId{get;set;}}这就是我尝试自动映射它的方式:AutoMapper.Mapper.CreateMap().ForMember(dest=>dest.Son.Id,opt=>opt.MapFrom(src=>src.

c# - 在相同的两个对象类型之间创建两个 Automapper 映射

我在WCF服务中使用AutoMapper来返回User对象。User具有诸如AccountTeams之类的属性,它本身具有子对象。所有类都有AutoMapper映射。根据调用的WCFOperationContract,我想返回不同数量的数据。我想要一个OperationContract返回没有填充其AccountTeams属性(及其子项)的User对象和另一个OperationContract返回填充了整个属性链的User。有没有办法在相同的两个对象之间有两个不同的映射,或者我是否需要执行完整映射并null我不想从服务返回的属性? 最佳答案

c# - 在相同的两个对象类型之间创建两个 Automapper 映射

我在WCF服务中使用AutoMapper来返回User对象。User具有诸如AccountTeams之类的属性,它本身具有子对象。所有类都有AutoMapper映射。根据调用的WCFOperationContract,我想返回不同数量的数据。我想要一个OperationContract返回没有填充其AccountTeams属性(及其子项)的User对象和另一个OperationContract返回填充了整个属性链的User。有没有办法在相同的两个对象之间有两个不同的映射,或者我是否需要执行完整映射并null我不想从服务返回的属性? 最佳答案

c# - 将一个对象映射到另一个对象的最佳实践

我的问题是,以最可维护的方式将一个对象映射到另一个对象的最佳方式是什么。我无法更改我们获取的Dto对象的设置方式以使其更加规范化,因此我需要创建一种方法将其映射到我们对其对象的实现。这是展示我需要发生什么的示例代码:classProgram{staticvoidMain(string[]args){vardto=newDto();dto.Items=newobject[]{1.00m,true,"Three"};dto.ItemsNames=new[]{"One","Two","Three"};varmodel=GetModel(dto);Console.WriteLine("One:

c# - 将一个对象映射到另一个对象的最佳实践

我的问题是,以最可维护的方式将一个对象映射到另一个对象的最佳方式是什么。我无法更改我们获取的Dto对象的设置方式以使其更加规范化,因此我需要创建一种方法将其映射到我们对其对象的实现。这是展示我需要发生什么的示例代码:classProgram{staticvoidMain(string[]args){vardto=newDto();dto.Items=newobject[]{1.00m,true,"Three"};dto.ItemsNames=new[]{"One","Two","Three"};varmodel=GetModel(dto);Console.WriteLine("One:

c# - 使用 AutoMapper 将对象的属性映射到字符串

我有以下模型:publicclassTag{publicintId{get;set;}publicstringName{get;set;}}我希望能够使用AutoMapper将Tag类型的Name属性映射到我的一个View模型中的字符串属性。我创建了一个自定义解析器来尝试使用以下代码处理此映射:publicclassTagToStringResolver:ValueResolver{protectedoverridestringResolveCore(Tagsource){returnsource.Name??string.Empty;}}我正在使用以下代码进行映射:Mapper.Cr