2022年2月10日 星期四

c# ViewModel To Model

這方法也是今天才發現
但真的還蠻實用的
如下兩個Class,StaffViewModel繼承了Staff
public class Staff
{
    public int id { get; set; }
    public string name { get; set; }
}

public class StaffViewModel :Staff
{ 
    public int departid { get; set; }
}
如果後端存檔時前端回傳是StaffViewModel但存檔只需要Staff資料
就需要轉換目前網路上看最多人推之一AutoMapper
後來發現如果有繼承關係在時被繼承的List中可直接塞入繼承類別如下
private List<Staff> Merge(List<StaffViewModel> model)
{
     List<Staff> result = new List<Staff>(0);
     foreach (var item in model)
         result.Add(item);
            
     return result;
}       
如果以上不是BUG的話設計時能多用原本存在的方式就能少裝些插件
真的可以省下很多時間減少安裝插件後的問題