- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 AutoMapper 的新手,所以这可能是初学者的问题。我搜索过,但没有看到这个讨论。创建 map 时,ForMember 和 ForSourceMember 方法有什么区别:
Mapper.CreateMap<Role, RoleDto>()
.ForMember(x => x.Users, opt => opt.Ignore())
.ForSourceMember(x => x.Users, opt => opt.Ignore());
我正在维护其他人编写的代码。在某些地方,我看到 ForMember,在其他地方看到 ForSourceMember,如上所示,两者都在一处。
两者有什么区别?
预先感谢您的帮助。
最佳答案
查看方法签名。在...
Mapper.CreateMap<Role, RoleDto>()
.ForMember(x => x.Users, opt => opt.Ignore())
.ForSourceMember(x => x.Users, opt => opt.Ignore());
... ForMember
是一种期望 Expression<Func<RoleDto>>
的方法名为 destinationMember
的参数,而ForSourceMember
预计 Expression<Func<Role>>
名为 sourceMember
的参数。所以
ForMember
配置目标类型的成员。ForSourceMember
配置源类型的成员。在您的情况下,源类型和目标类型都有成员 UserId
,因此调用看起来相同,但实际上并非如此。他们应该做同样的事情,但有趣的是ForSourceMember
似乎对忽略成员没有任何影响。也许这是一个错误。
关于AutoMapper:ForMember 和 ForSourceMember 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660442/
我正在尝试设置 AutoMapper 以从实体转换为 DTO。我知道我应该使用 .ForMember()之后Mapper.CreateMap()设置自定义映射,但这似乎不是一个可用的方法。 编辑以澄清
我的源类是 public class SourceEmployee { public int EmployeeID { get; set; } public s
我最近从 Automapper 4.2.1 升级到 5.1.1,并且之前涉及开放泛型的有效映射出现问题。 以前,在自动映射器配置中,我有以下开放通用映射配置 CreateMap(typeof(IPag
我有实体 Request 和模型 RequestModel public class RequestModel : BaseModel { public IEnumerable Recipi
我正在使用 AutoMapper 8.1.1 如何为目标成员而不是源成员赋值。 我有这个代码` public IEnumerable GetMainPartsCategories(int ty
在我的 AutoMapper 映射中,我收到一个奇怪的 ReSharper 和 Intellisense 错误,其中 ReSharper 无法识别我的类中的两个属性。在下面的例子中,我的两个类上的 A
在 MVC 应用程序中复制相同的实体类型,但希望忽略复制主键(对现有实体进行更新)。但是在下面的 map 中将 Id 列设置为忽略是行不通的,Id 正在被覆盖。 cfg.CreateMap()
所以,我有一个 ObjectFrom 到 ObjectTo 的映射。'所有映射都可以完成 ObjectFrom.propX -> ObjectTo.propX2。但是ObjectTo中还有一个属性需要
我是 AutoMapper 的新手,所以这可能是初学者的问题。我搜索过,但没有看到这个讨论。创建 map 时,ForMember 和 ForSourceMember 方法有什么区别:
我正在尝试映射两个不同的对象 CreateMap() .ForMember(x => x.Quantity, y => y.MapFrom(z =>z.QuantityList.First().T
我以前从未在 Automapper 遇到过这种奇怪的行为。首先,我使用的是 Automapper 3.3.0 和 Entity Framework 6.1.3。我有一个通过 Entity Framew
有一个question ,这描述了我想要非常精确的内容,但他们使用的是内联映射。 源/目标类型 public class SrcInner { public int A {get;set;}
我正在尝试使用 Automapper 进行映射 这是我当前的映射: Mapper.CreateMap(Of NameAddress, PersonalDetails)() _
在 CreateMap() 上,我想使用 ForMember() 中函数调用的返回值,以避免必须调用同一个函数两次。 CreateMap() .ForMember(de
假设 Date 是一个可为 null 的 DateTime: Mapper.CreateMap() .ForMember(dest => dest
我正在阅读 AutoMapper 的 ReverseMap(),我无法理解 ForMember() 和 ForPath() 之间的区别。描述了实现 here .根据我的经验,我使用 ForMember
我有这样的情况,我想将实体映射到 View 模型并返回。我必须使用 ForMember() 显式指定映射,因为它们的属性不共享完全相同的名称。这是我的类(class)的一个简短示例: public c
我有复杂的模型 (SyncBillToPartyMaster),我想自定义映射到我的简单 POCO 类中。 Mapper.CreateMap() .ForMember(d => d.CustomerI
我已经使用以下代码从现有的 Automapper TypeMap 中成功提取了简单的源/目标对: private MemberInfo getSource(Type destinationType,
我是一名优秀的程序员,十分优秀!