老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

OOM框架AutoMapper怎么用-創新互聯

小編給大家分享一下OOM框架AutoMapper怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于網站制作、網站建設、遂寧網絡推廣、小程序制作、遂寧網絡營銷、遂寧企業策劃、遂寧品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們大的嘉獎;創新互聯為所有大學生創業者提供遂寧建站搭建服務,24小時服務熱線:18980820575,官方網址:www.cdcxhl.com

預備

首先我們預備一些ViewModel和TModel。ViewModel就是你和用戶交互的實體。TModel就是你與數據庫打交道的實體。

實體展示如下:

TModel有如下三個簡單的實體,他們有獨立的實體,也有一對多的實體。

public class TAddress
{
 public string Country { get; set; }
 public string City { get; set; }
 public string Street { get; set; }
 public string PostCode { get; set; }
 public string CreateTime { get; set; }
 public int CreateUserId { get; set; }
}
public class TAuthor
 {
  public string Name { get; set; }
  public string Description { get; set; }
  public List ContactInfo { get; set; }
 }
 public class TContactInfo
 {
 public int Id { get; set; }
 public string Email { get; set; }
 public string Blog { get; set; }
 public string Twitter { get; set; }
 }

ViewModel如下三個:

public class VM_Address
 {
 public string Country { get; set; }
 public string City { get; set; }
 public string City2 { get; set; }
 }
 public class VM_Author
 {
 public string Name { get; set; }
 public string Description { get; set; }
 public List ContactInfo { get; set; }
 }
 public class VM_ContactInfo
 {
 public int Id { get; set; }
 public string Email { get; set; }
 public string Blog { get; set; }
 public string Twitter { get; set; }
 }

單個實體轉換

單個實體轉換的時候,在屬性字段名稱完全匹配的情況下,你只需指定兩個實體間的轉換規則,指定source源實體和destination目標實體。那么你應該參照如下實例:

VM_Address dto = new VM_Address
  {
  Country = "China",
  City = "Beijing"
  };
  Mapper.Initialize(m => m.CreateMap());
  TAddress address = Mapper.Map(dto);

請注意在AutoMapper5.x當中,Initialize來初始化你的規則是選的。

在你指定轉換規則后,請使用Map方法,進行轉換并輸出你的目標實體。還有第一個參數代表SourceModel,第二個參數是DestinationModel.

單個實體不同名屬性轉換

當你需要對不同名稱的字段來進行映射的時候,請注意使用ForMember方法,第一個參數需要你制定所需特殊配置的目標字段,第二個參數你則需要制定你對該字段屬性的操作,我選擇了它提供的MapFrom方法,意義在于告訴AutoMapper,我需要講目標實體的City來源 指定為 源實體的City2屬性值。

VM_Address dto = new VM_Address
  {
  Country = "China",
  City2 = "Beijing"
  };
  Mapper.Initialize(m => m.CreateMap().ForMember(x => x.City, opt => opt.MapFrom(o => o.City2)));
  TAddress address = Mapper.Map(dto);

集合轉換

在集合間轉換的時候,你不需要配置目標List與源List對象中的匹配,而只需要配置你泛型對象的映射匹配關系。

  TAddress address = new TAddress { Country = "China", City = "Beijing" };
  TAddress address2 = new TAddress() { Country = "USA", City = "New York" };
  List addressList = new List() { address2, address };
  Mapper.Initialize(m => m.CreateMap());//這里僅需配置實體間的轉換,而不是實體集合的轉換
  List res = Mapper.Map, List>(addressList);

實體包含不同類型屬性轉換(忽略屬性)

在實體包含不同類型屬性的時候,比如TModel1中包含了一個List,而你的ViewModel1中包含了一個List.這個時候你可以選擇忽略這個屬性

 var contacts = new List() { new TContactInfo() 
          { Blog = "myblog", Email = "ws@qq.com" }, new TContactInfo() { Blog = "myblog", Email = "ll@qq.com" } };
  TAuthor author = new TAuthor() { Description = "描述", Name = "吳雙", ContactInfo = contacts };
  Mapper.Initialize(m => { m.CreateMap().ForMember(x => x.ContactInfo, opt => opt.Ignore()); });
       VM_Author dto = Mapper.Map(author);
//這里的Ignore代表配置ContractInfo該屬性的操作 為 忽略Ignore,映射時將忽略該屬性 由于List()和List() 是不同類型,所以需要配置忽略或者是特殊映射,特殊映射例子看下方

實體包含不同類型屬性轉換(指定屬性Mapfrom)

當然你需要這個屬性的時候,你可以不忽略他,而是使用MapFrom來進行特殊的指定,并且在類型不相同的時候,你要指定你兩個類型間的映射匹配關系。正如下面實例中的

m.CreateMap();和
m.CreateMap().ForMember(x => x.ContactInfo, opt => opt.MapFrom(o => o.ContactInfo));

var contacts = new List()
  {
  new TContactInfo() { Blog = "myblog", Email = "ws@qq.com" },
  new TContactInfo() { Blog = "myblog", Email = "ll@qq.com" }
  };
  TAuthor author = new TAuthor() { Description = "描述", Name = "吳雙", ContactInfo = contacts };
  Mapper.Initialize(m =>
  {
  m.CreateMap();//注意 內部不同類型實體轉換時必要的
  m.CreateMap().ForMember(x => x.ContactInfo, opt => opt.MapFrom(o => o.ContactInfo));//注意 制定MapFrom是必要的
  });
  VM_Author dto = Mapper.Map(author);

看完了這篇文章,相信你對“OOM框架AutoMapper怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注創新互聯成都網站設計公司行業資訊頻道,感謝各位的閱讀!

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享題目:OOM框架AutoMapper怎么用-創新互聯
URL分享:http://www.xueling.net.cn/article/dejjhc.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产美女在线精品免费观看 | 四虎影视免费永久在线观看 | 亚洲最大AV资源网在线观看 | 精品夜夜澡人妻无码av蜜桃 | 日本毛片网 | AV色欲无码人妻中文字幕 | 国产精品久久久久久久久鸭无码 | 国产在线精品一区二区不卡了 | 国产亚洲欧美一区二区三区在线播放 | 亚洲成年 | 亚洲国产的精品太乱码一区二区 | 无码一区二区三区爆白浆 | 少妇MM被擦出白浆液视频 | 一级看片免费视频 | 少妇啪啪av一区二区三区 | 曰韩无码无遮挡A级毛片 | 精品国产aⅴ一区二区 | 黄色成年人国语版在线观看 | 久久夜色撩人精品国产 | 每日在线更新av | 亚洲AV久久精品狠狠爱AV | 女人与牲口性恔配视频免费 | 秋霞午夜成人鲁丝片午夜精品 | 豪放女大兵免费看 | 蜜桃av麻豆 | 久久久不卡网国产精品一区 | 99精品6一区二区三区 | 日韩欧美久久精品 | japanese在线观看精品视频 | 一级毛片黄色片 | 国产一区二区三区久久20p | 在线观看91精品 | 一级黄色播放 | 日韩精品一区二区三区免费观看视频 | 欧美一级爱爱视频 | 国产乱码精品一区二区三区不卡 | 男男gaygays熟睡入侵视频 | 全免费一级毛片免费看 | 黄色影片在线免费观看 | 亚洲一级视频在线观看 | 国产真实高潮太爽了 |