.net – 什么是Automapper?
发布时间:2020-12-16 00:27:51 所属栏目:asp.Net 来源:网络整理
导读:什么是 Automapper?它将如何帮助我的域和控制器层(asp.net mvc) 解决方法 也许一个例子会帮助这里… 假设你有一个很好地规范化的数据库模式,如下所示: Orders (OrderID,CustomerID,OrderDate) Customers (CustomerID,Name) OrderDetails (OrderDetID,Orde
什么是
Automapper?它将如何帮助我的域和控制器层(asp.net mvc)
解决方法
也许一个例子会帮助这里…
假设你有一个很好地规范化的数据库模式,如下所示: Orders (OrderID,CustomerID,OrderDate) Customers (CustomerID,Name) OrderDetails (OrderDetID,OrderID,ProductID,Qty) Products (ProductID,ProductName,UnitPrice) 而且我们假设你使用的是一个漂亮的O / R映射器,它可以让你回到一个组织良好的领域模型: OrderDetail +--ID +--Order |--+--Date |--+--Customer |-----+--ID |-----+--Name +--Product |--+--ID |--+--Name |--+--UnitPrice +--Qty 现在,您需要显示上个月订购的所有内容。你想绑定到一个平面网格,所以你尽可能地写一个平面类来绑定: public class OrderDetailDto { public int ID { get; set; } public DateTime OrderDate { get; set; } public int OrderCustomerID { get; set; } public string OrderCustomerName { get; set; } public int ProductID { get; set; } public string ProductName { get; set; } public Decimal ProductUnitPrice { get; set; } public int Qty { get; set; } public Decimal TotalPrice { get { return ProductUnitPrice * Qty; } } } 到目前为止这是非常痛苦的,但是现在呢?我们如何将一堆OrderDetails转换成一堆OrderDetailDtos进行数据绑定? 您可以在OrderDto上放置一个构造函数,该构造函数需要一个OrderDetail,并写出一大堆映射代码。或者你可能在某处有一个静态转换类。或者,您可以使用AutoMapper,并写入: Mapper.CreateMap<OrderDetail,OrderDetailDto>(); OrderDetailDto[] items = Mapper.Map<OrderDetail[],OrderDetailDto[]>(orderDetails); GridView1.DataSource = items; 那里。我们刚刚采取了一个令人厌恶的无意义的映射代码混乱,并将其简化为三行(实际映射中只有两个)。 这有助于解释目的吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何在Repeater中查找控件
- asp.net – 在服务器而不是数据库中拥有(可能)数千个目录的
- ASP.NET 5(MVC6)EF7外键可能会导致循环
- asp.net – 生产网络服务器上的间歇性高CPU(100%)
- asp.net – 所有PartialView的自定义ActionResult等效模型
- asp.net-mvc – MVC 3部分页面(Razor)和MVC 3视图页面与布局
- winform_使用ClickOnce生成安装程序包页面&程序发布新版
- asp.net-mvc – .Net会员提供商没有捕获电子邮件重复
- asp.net-mvc – 摆脱仅在ASP.NET MVC中返回视图的控制器GET
- 我是否需要在asp.net中取消订阅(手动订阅)活动?
推荐文章
站长推荐
- .net – 在控制器中查看列表数据
- asp.net-mvc – 避免“类或CssClass值未定义”AS
- asp.net – 在与页面相同的文件夹中使用用户控件
- asp.net-mvc – ASP.NET Core中基于活动的授权
- asp.net-mvc-4 – LinkedIn在MVC4中使用DotNetOp
- asp.net – 将网站置于维护模式?
- asp.net-core – IClaimsTransformer的User.IsIn
- asp.net – 版本16.1.1.0中不提供AjaxControlToo
- asp.net – SOAP 1.2在SOAP 1.1工作时产生错误请
- 解决“这个操作需要IIS集成管道模式”在ASP.net
热点阅读