jjzjj

automapper

全部标签

c# - xUnit 测试和 .NET Core 2.0 中的 Automapper

我有.NETCore2.0项目,其中包含存储库模式和xUnit测试。现在,这是它的一些代码。Controller:publicclassSchedulesController:Controller{privatereadonlyIScheduleRepositoryrepository;privatereadonlyIMappermapper;publicSchedulesController(IScheduleRepositoryrepository,IMappermapper){this.repository=repository;this.mapper=mapper;}[Http

c# - AutoMapper 如何根据上下文以不同方式将对象 A 映射到对象 B

召集所有AutoMapper专家!我希望能够根据运行时的上下文以不同方式将对象A映射到对象B。特别是,我想在一种映射情况下忽略某些属性,而在另一种情况下映射所有属性。我遇到的是Mapper.CreateMap可以在不同的映射情况下成功调用,但是,一旦调用CreateMap,就会设置特定类型对的映射,并且随后不会通过成功的CreateMap调用进行更改,这可能以不同方式描述映射。我发现一篇博文提倡Mapper.Reset()来解决这个问题,但是,Mapper类的静态性质意味着碰撞和崩溃发生只是时间问题。有办法吗?我认为我需要为每个应用程序域调用一次Mapper.CreateMap,然后能

c# - Automapper 空属性

我使用Automapper将我的对象映射到dtos。publicclassOrderItem:BaseDomain{publicvirtualVersionVersion{get;set;}publicvirtualintQuantity{get;set;}}[DataContract][Serializable]publicclassOrderItemDTO{[DataMember]publicintId{get;set;}[DataMember]publicstringGuid{get;set;}[DataMember]publicvirtualint?VersionId{get;

c# - Automapper:手动映射属性

我刚开始使用automapper来映射DTO实体,它似乎工作得很好。在某些特殊情况下,我只想映射一些属性并执行额外的检查。没有自动映射器,代码看起来像这样(使用fasterflect的PropertyExtensions):objecttarget;objectsource;string[]changedPropertyNames={};foreach(varchangedPropertyNameinchangedPropertyNames){varnewValue=source.GetPropertyValue(changedPropertyName);target.SetPrope

c# - AutoMapper.dll中出现 'AutoMapper.AutoMapperMappingException'类型的异常,但用户代码中没有处理

不知何故,我的代码不再起作用(它以前使用完全相同的代码确实起作用)。这是问题所在:代码我正在尝试使用以下代码将一些对象映射到ViewModel:配置:Mapper.CreateMap().ForMember(x=>x.Title,opt=>opt.MapFrom(src=>src.Book.Title)).ForMember(x=>x.Authors,opt=>opt.MapFrom(src=>src.Book.Authors.Select(x=>x.Name).Aggregate((i,j)=>i+","+j))).ForMember(x=>x.Identifiers,opt=>op

c# - Automapper、Mapper 未初始化。使用正确的配置调用初始化

当我尝试将数据提交到数据库时出现以下错误:{"Success":false,"Error":true,"ErrorType":2,"Message":"System.InvalidOperationException:Mappernotinitialized.CallInitializewithappropriateconfiguration.Ifyouaretryingtousemapperinstancesthroughacontainerorotherwise,makesureyoudonothaveanycallstothestaticMapper.Mapmethods,and

c# - 从 Automapper.Mapper 获取目标类型

我已经使用Automapper一段时间了,它工作起来非常简洁。我有以下映射:Mapper.CreateMap();有没有什么办法,任何方法,提供typeof(Models.MyModel)将返回typeof(Entities.MyEntity)? 最佳答案 您可以使用Mapper.GetAllTypeMaps()方法获取所有已注册的TypeMap(Automapper的类型,用于存储源-目标类型对和其他映射相关信息)。使用类型映射,您可以搜索源类型:[Test]publicvoidTest(){Mapper.CreateMap();

c# - 使用 AutoMapper 从 POCO 映射到 NHibernate 代理对象时出错

我们最近升级了AutoMapper,在以某种方式映射项目时遇到了问题。当我加载一个NHibernate域对象,并尝试以下列方式将我的模型映射到它时:varmyPoco=newMyPoco();varproxy=repository.Load(id);Mapper.Map(myPoco,proxy);我收到以下错误:Missingtypemapconfigurationorunsupportedmapping.MyPoco->MyDomainObjectProxy但是,如果我使用该方法的以下重载,我不会得到异常:varmyDomainObj=Mapper.Map(myPoco);当您查看

c# - 在使用 Automapper 映射 ViewModel 之后,我应该如何测试以及应该测试什么?

我正在尝试测试Controller的Index操作。该操作使用AutoMapper将域Customer对象映射到View模型TestCustomerForm。虽然这有效,但我关心的是测试我从Index操作收到的结果的最佳方法。Controller的索引操作如下所示:publicActionResultIndex(){TestCustomerFormcust=Mapper.Map(_repository.GetCustomerByLogin(CurrentUserLoginName));returnView(cust);}它的TestMethod看起来像这样:[TestMethod]pu

基于目标值的 C# AutoMapper 条件映射

谁能建议如何在AutoMapper中使用条件映射,根据现有的TARGET属性值从SOURCE对象映射TARGET对象中的值?所以我的源类是:publicclassUserDetails{publicStringNickname{get;set;}}我的目标类是:publicclassProfileViewModel{publicBooleanNicknameIsVisible{get;set;publicStringNickname{get;set;}}仅当目标属性“NicknameIsVisible”值已设置为TRUE时,我才想将TARGET中的“Nickname”属性值设置为匹配S