我使用Automapper和view-model來解決問題。但我已經安裝了Automapper 5.0.0.0。
另外我定義了一個視圖模型,它與主要實體相同,但是性別類型相同。在視圖模型中性別是字符串。
var Data= Search(user); //get search result using any approach, maybe a service or etc
var config = new MapperConfiguration(cfg => cfg.CreateMap<User, VM_User>()
.ForMember(vm => vm.GENDER, opt => opt.MapFrom(u => u.GENDER == 10 ? "Male" : "Female")));
List<VM_User> users = new List<VM_User>();
for (int i = 0; i < Data.Count; i++)
{
users.Add(config.CreateMapper().Map<VM_User>(Data[i]));
}
然後我用這些用戶作爲查看結果。
另外,我能忘記使用第三方(AutoMapper)和forexample有:
var result = Data.Select(x => new VM_User
{
Name = x.Name,
Code = x.Code,
Gender = x.Gender == 10 ? "Male" : "Female"
}).ToList();
但是,如果我敢肯定,在編碼過程中的實體屬性不會改變它是非常有用的。
如果有其他方式,請分享:) – Elnaz