jaf*_*ffa 20 .net c# linq automapper
我无法理解以下问题.我感觉它是LINQ和表达式树的限制,但不确定如何接受lambda体.我可以在不创建自定义转换器的情况下实现此目的
Mapper.CreateMap<I_NEWS, NewsModel>()
.ForMember(x => x.DateCreated, opt => opt.MapFrom(src => {
var dt = (DateTime)src.DateCreated;
return dt.ToShortDateString();
}));
Run Code Online (Sandbox Code Playgroud)
我收到此错误: 带有语句主体的lambda表达式无法转换为表达式树
Mrc*_*ief 24
为了使用lambda体,请使用.ResolveUsing
而不是.MapFrom
.
根据作者:
MapFrom有一些额外的东西需要表达式树(如null检查等).
所以你的陈述看起来像这样:
Mapper.CreateMap<I_NEWS, NewsModel>()
.ForMember(x => x.DateCreated, opt => opt.ResolveUsing(src => {
var dt = (DateTime)src.DateCreated;
return dt.ToShortDateString();
}));
Run Code Online (Sandbox Code Playgroud)
Ric*_*ues 16
试试这个:
Mapper.CreateMap<I_NEWS, NewsModel>().ForMember(x => x.DateCreated,
opt => opt.MapFrom(src => ((DateTime)src.DateCreated).ToShortDateString()));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12194 次 |
最近记录: |