亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

AutoMapper(五)

2019-11-14 13:48:19
字體:
來源:轉載
供稿:網友

返回總目錄


Dynamic和ExpandoObject映射

AutoMapper不用任何配置就可以從dynamic(動態)對象映射或映射到dynamic對象。

namespace FifthAutoMapper{    //定義一個Person類    public class Person    {        public int Age { get; set; }        public string Name { get; set; }    }    //主程序    class PRogram    {        static void Main(string[] args)        {            //不需要CreateMap同樣可以映射,這就是所謂的“零配置”            //Mapper.CreateMap<MyDynamicClass, Person>().ReverseMap();            //將一個動態對象映射到一個普通實例            dynamic dynamicObj = new ExpandoObject();//ExpandoObject對象包含可在運行時動態添加或移除的成員            dynamicObj.Age = 103;            dynamicObj.Name = "tkb至簡";            Person person = Mapper.Map<Person>(dynamicObj);            Console.WriteLine("person.Age={0},Name={1}", person.Age, person.Name);            //將一個普通實例映射到動態對象            dynamic dynamicObj2= Mapper.Map<ExpandoObject>(person);            Console.WriteLine("dynamicObj2.Age={0},Name={1}", dynamicObj2.Age, dynamicObj2.Name);            Console.Read();        }    }}

關于這個程序的說明,代碼中都注釋得很清楚了,不需再多做解釋。

扁平化

對象與對象之間的映射的通常用法就是將一個復雜的模型壓扁成一個更為簡單的模型。為了演示需要,我這里定義幾個類,代碼如下:

namespace FifthAutoMapper{    public class Order    {        public Customer Customer { get; set; }        public decimal GetTotal()        {            return 100M;        }    }    public class Customer    {        public string Name { get; set; }    }    public class OrderDto    {        public string CustomerName { get; set; }        public decimal Total { get; set; }    }}

Order類:就是一個普通的訂單類,當然,實際的項目肯定會有很多的屬性,這里為了方便演示,只保留一個屬性和一個方法。

Customer類:顧客類,定義了顧客的姓名。

OrderDto類:Order扁平化后的類,包含了特定需求的數據。

官方定義:當使用CreateMap方法在AutoMapper中配置源類型和目標類型時,配置器會嘗試將源上的屬性和方法匹配到目標的屬性上。如果目標屬性的任何屬性在源類型的屬性,方法或者以Get為前綴的方法都不存在,那么AutoMapper會把目標成員的名稱(按照PascalCase慣例)分割成獨立的單詞。

下面測試一下,在Main方法中添加如下代碼:

Mapper.CreateMap<Order, OrderDto>();var order = new Order(){    Customer = new Customer() {Name = "tkb至簡"},};var orderDto= Mapper.Map<OrderDto>(order);Console.WriteLine(orderDto.CustomerName);Console.WriteLine(orderDto.Total);

image

雖然前面的博客已經說了很多了,但這里還是在啰嗦地解釋一下。

我們在AutoMapper的Createmap方法中配置了類型映射。AutoMapper只能映射它知道的類型對,因此我們使用CreateMap顯示地注冊了源/目標類型對。為了執行映射,我們使用Map方法。

在OrderDto類中,Total屬性匹配到了Order上的GetTotal方法。CustomerName屬性匹配到了Order上的Customer.Name屬性??傊灰线m地命名目標類型屬性,我們就不必配置單獨的屬性匹配。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产视频亚洲视频| 欧美日韩国产一区在线| 日韩经典一区二区三区| 成人在线一区二区| 日韩日本欧美亚洲| 欧美成人自拍视频| 欧美日韩免费区域视频在线观看| 高清一区二区三区日本久| 按摩亚洲人久久| 亚洲一区久久久| 欧美日韩精品国产| 91豆花精品一区| 国产精品久久一| 韩国一区二区电影| 不卡在线观看电视剧完整版| 91精品国产高清自在线| 国产91热爆ts人妖在线| 欧美日韩性生活视频| 欧美一区二区三区精品电影| www.xxxx精品| 国产精品久久久久久久一区探花| 国产精品男人爽免费视频1| 亚洲精品有码在线| 国产一级揄自揄精品视频| 国产亚洲成av人片在线观看桃| 国产精品成人免费电影| 国产精品美女久久久免费| 欧美在线性视频| 亚洲欧洲国产一区| 国产精品尤物福利片在线观看| 日韩av免费观影| 456亚洲影院| 亚洲欧美国产精品专区久久| 日韩精品有码在线观看| 亚洲欧美制服另类日韩| 日韩小视频网址| 欧美激情精品在线| 欧美成人激情图片网| 亚洲自拍小视频| 欧美日韩国产第一页| 欧美日韩黄色大片| 国产欧美日韩亚洲精品| 亚洲大尺度美女在线| 国产成人精品视频在线观看| 精品国产91久久久久久| 亚洲精品理论电影| 亚洲国产免费av| 91成人福利在线| 国产成人鲁鲁免费视频a| www.色综合| 日韩av在线看| 久久精品视频导航| 亚洲xxx视频| 欧美激情第一页xxx| 欧美极品美女视频网站在线观看免费| 国产91久久婷婷一区二区| 久久久精品久久久久| 亚洲香蕉伊综合在人在线视看| 国产日韩精品在线观看| 国产欧美精品久久久| 成人免费福利视频| 国产+成+人+亚洲欧洲| 亚洲综合自拍一区| 国产日韩av在线| 久久综合五月天| 国产成人综合精品在线| 动漫精品一区二区| 精品久久久久久久久久久| 国产精品嫩草影院久久久| 国产精欧美一区二区三区| 国产香蕉一区二区三区在线视频| 亚洲在线免费看| 91系列在线观看| 3344国产精品免费看| 欧美性猛交xxxx富婆弯腰| 亚洲精品成人久久| 亚洲午夜性刺激影院| 日韩不卡中文字幕| 亚洲美女又黄又爽在线观看| 在线丨暗呦小u女国产精品| 国产精品久久久久久av| 97久久久免费福利网址| 在线观看国产精品日韩av| 黄色一区二区在线| 日本高清+成人网在线观看| 国内成人精品一区| 久久噜噜噜精品国产亚洲综合| 亚洲精品欧美一区二区三区| 欧美精品videos另类日本| 精品无码久久久久久国产| 精品亚洲国产成av人片传媒| 色多多国产成人永久免费网站| 亚洲欧美国内爽妇网| 久久噜噜噜精品国产亚洲综合| 亚洲国产精品va在线观看黑人| 日韩av免费在线看| 日韩精品黄色网| 亚洲国产欧美精品| 欧美成人手机在线| www.色综合| 亚洲情综合五月天| 亚洲精品中文字| 国产精品夜间视频香蕉| 欧美日韩亚洲国产一区| 国产成人拍精品视频午夜网站| 日韩在线国产精品| 欧美日韩在线一区| 亚洲免费一级电影| 欧美精品videossex88| 国产一区二区三区免费视频| yw.139尤物在线精品视频| 国产在线视频欧美| 欧美高跟鞋交xxxxhd| 日韩a**站在线观看| 亚洲精品成人网| 91黑丝高跟在线| 欧美大片va欧美在线播放| 中文字幕v亚洲ⅴv天堂| 亚洲综合精品伊人久久| 懂色aⅴ精品一区二区三区蜜月| 国产精品福利在线观看| 国产精品高潮呻吟久久av黑人| 日韩成人av在线播放| 羞羞色国产精品| 成人午夜在线观看| 日本乱人伦a精品| 久久久久久97| 91精品国产高清久久久久久91| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产美女扒开尿口久久久| 亚洲激情久久久| 成人在线免费观看视视频| 91高潮精品免费porn| 国产区亚洲区欧美区| 久久精品成人一区二区三区| 欧美成aaa人片在线观看蜜臀| 日韩视频在线观看免费| 久久久亚洲欧洲日产国码aⅴ| 永久免费毛片在线播放不卡| 国产欧美精品在线| 欧美丰满老妇厨房牲生活| 亚洲色图美腿丝袜| 国产日韩精品在线播放| 日韩免费在线视频| 91精品久久久久久久久久久久久久| 国产不卡一区二区在线播放| 亚洲区一区二区| 亚洲国产精品人人爽夜夜爽| 久久久久久亚洲精品不卡| 俺也去精品视频在线观看| 国产亚洲欧洲黄色| 欧美成人免费在线观看| 欧美精品在线视频观看| 国产一区二区av| 亚洲欧美国产日韩中文字幕| 成人久久精品视频| 亚洲免费人成在线视频观看| 中文字幕在线视频日韩| 亚洲一品av免费观看| 国产精品扒开腿爽爽爽视频| 性欧美亚洲xxxx乳在线观看| 国产xxx69麻豆国语对白| 国产精品91一区| 亚洲人成啪啪网站|