我有.NETCore2.0项目,其中包含存储库模式和xUnit测试。现在,这是它的一些代码。Controller:publicclassSchedulesController:Controller{privatereadonlyIScheduleRepositoryrepository;privatereadonlyIMappermapper;publicSchedulesController(IScheduleRepositoryrepository,IMappermapper){this.repository=repository;this.mapper=mapper;}[Http
召集所有AutoMapper专家!我希望能够根据运行时的上下文以不同方式将对象A映射到对象B。特别是,我想在一种映射情况下忽略某些属性,而在另一种情况下映射所有属性。我遇到的是Mapper.CreateMap可以在不同的映射情况下成功调用,但是,一旦调用CreateMap,就会设置特定类型对的映射,并且随后不会通过成功的CreateMap调用进行更改,这可能以不同方式描述映射。我发现一篇博文提倡Mapper.Reset()来解决这个问题,但是,Mapper类的静态性质意味着碰撞和崩溃发生只是时间问题。有办法吗?我认为我需要为每个应用程序域调用一次Mapper.CreateMap,然后能
我使用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;
我刚开始使用automapper来映射DTO实体,它似乎工作得很好。在某些特殊情况下,我只想映射一些属性并执行额外的检查。没有自动映射器,代码看起来像这样(使用fasterflect的PropertyExtensions):objecttarget;objectsource;string[]changedPropertyNames={};foreach(varchangedPropertyNameinchangedPropertyNames){varnewValue=source.GetPropertyValue(changedPropertyName);target.SetPrope
不知何故,我的代码不再起作用(它以前使用完全相同的代码确实起作用)。这是问题所在:代码我正在尝试使用以下代码将一些对象映射到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
当我尝试将数据提交到数据库时出现以下错误:{"Success":false,"Error":true,"ErrorType":2,"Message":"System.InvalidOperationException:Mappernotinitialized.CallInitializewithappropriateconfiguration.Ifyouaretryingtousemapperinstancesthroughacontainerorotherwise,makesureyoudonothaveanycallstothestaticMapper.Mapmethods,and
我已经使用Automapper一段时间了,它工作起来非常简洁。我有以下映射:Mapper.CreateMap();有没有什么办法,任何方法,提供typeof(Models.MyModel)将返回typeof(Entities.MyEntity)? 最佳答案 您可以使用Mapper.GetAllTypeMaps()方法获取所有已注册的TypeMap(Automapper的类型,用于存储源-目标类型对和其他映射相关信息)。使用类型映射,您可以搜索源类型:[Test]publicvoidTest(){Mapper.CreateMap();
我们最近升级了AutoMapper,在以某种方式映射项目时遇到了问题。当我加载一个NHibernate域对象,并尝试以下列方式将我的模型映射到它时:varmyPoco=newMyPoco();varproxy=repository.Load(id);Mapper.Map(myPoco,proxy);我收到以下错误:Missingtypemapconfigurationorunsupportedmapping.MyPoco->MyDomainObjectProxy但是,如果我使用该方法的以下重载,我不会得到异常:varmyDomainObj=Mapper.Map(myPoco);当您查看
我正在尝试测试Controller的Index操作。该操作使用AutoMapper将域Customer对象映射到View模型TestCustomerForm。虽然这有效,但我关心的是测试我从Index操作收到的结果的最佳方法。Controller的索引操作如下所示:publicActionResultIndex(){TestCustomerFormcust=Mapper.Map(_repository.GetCustomerByLogin(CurrentUserLoginName));returnView(cust);}它的TestMethod看起来像这样:[TestMethod]pu
谁能建议如何在AutoMapper中使用条件映射,根据现有的TARGET属性值从SOURCE对象映射TARGET对象中的值?所以我的源类是:publicclassUserDetails{publicStringNickname{get;set;}}我的目标类是:publicclassProfileViewModel{publicBooleanNicknameIsVisible{get;set;publicStringNickname{get;set;}}仅当目标属性“NicknameIsVisible”值已设置为TRUE时,我才想将TARGET中的“Nickname”属性值设置为匹配S