博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【记录】AutoMapper Project To not support ResolveUsing
阅读量:6905 次
发布时间:2019-06-27

本文共 1413 字,大约阅读时间需要 4 分钟。

示例代码:

public List
GetLinesForOrder(int orderId){ Mapper.CreateMap
() .ForMember(dto => dto.Item, conf => conf.MapFrom(ol => ol.Item.Name) .ForMember(dto => dto.Name, opt => opt.ResolveUsing
()); using (var context = new orderEntities()) { return context.OrderLines.Where(ol => ol.OrderId == orderId) .Project().To
().ToList(); }}public class NameCustomResolver : ValueResolver
{ protected override string ResolveCore(OrderLine source) { //可以加一些逻辑 return source.Name; }}

按照上面代码编写会抛出异常,使用 ORM 获取转换的时候(.Project().To),是不支持 ResolveUsing 的,Jimmy Bogard(AutoMapper 作者)应该扩展下 Queryable Extensions,如果不使用 .Project().To,单纯的映射转换是支持 ResolveUsing 的,使用 ResolveUsing 无非就是方便业务逻辑代码编写,我们也可以使用 MapFrom 进行实现:

public List
GetLinesForOrder(int orderId){ Mapper.CreateMap
() .ForMember(dto => dto.Item, conf => conf.MapFrom(ol => ol.Item.Name) .ForMember(dto => dto.Name, opt => opt.MapFrom(ol => NameCustomResolver(ol))); using (var context = new orderEntities()) { return context.OrderLines.Where(ol => ol.OrderId == orderId) .Project().To
().ToList(); }}public static string NameCustomResolver(OrderLine source){ //可以加一些逻辑 return source.Name;}

参考资料:

转载地址:http://ngrdl.baihongyu.com/

你可能感兴趣的文章
Android实现在线更新的过程案例
查看>>
如何解决 Windows 实例出现身份验证错误及更正 CredSSP
查看>>
如何修改Xampp服务器上的mysql密码(图解)
查看>>
vue项目,ie11 浏览器报 Promise 未定义的错误
查看>>
使用Navicat连接阿里云mysql报错10061
查看>>
【原创】SAP/Oracle 集团企业海外全球化实施注意事项: 一带一路本地化 (持续更新)...
查看>>
iOS UITableView获取特定位置的cell
查看>>
for in 与 Object.keys 与 hasOwnProperty区别
查看>>
让应用在息屏后保活
查看>>
c#金额转换成中文大写金额
查看>>
理解sklearn.feature.text中的CountVectorizer和TfidfVectorizer
查看>>
Effective Tensorflow[转]
查看>>
机器学习之线性回归(纯python实现)][转]
查看>>
在OAF页面中集成ECharts以及highcharts用于显示图表
查看>>
启用hyper-v后无法卸载vmware
查看>>
Docker Quickstart Terminal: exit status 255 解决办法
查看>>
Lua语言总结
查看>>
Android 标题栏(2)
查看>>
svn checkout 提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”解决方法...
查看>>
C# 5.0中使用CallerMemberName、CallerFilePath和CallerLineNumber获取代码的调用方信息(转载)...
查看>>