【发布时间】:2017-07-13 10:47:49
【问题描述】:
如果我有一个对象的 100 个属性发生了变化怎么办?
这对代码来说会很糟糕,并且容易丢失一些属性。
是否有与手动更新记录不同的方式?
ApplicationUser CurrentUser = db.Users.FirstOrDefault(x => x.Id == model.Id);
CurrentUser.FirstName = model.FirstName;
CurrentUser.LastName = model.LastName;
CurrentUser.IsRSM = model.IsRSM;
CurrentUser.PhoneNumber = model.PhoneNumber;
CurrentUser.Email = model.Email;
CurrentUser.UserName = model.Email;
CurrentUser.Region = model.Region;
CurrentUser.Active = model.Active;
db.Entry(CurrentUser).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
【问题讨论】:
-
您可以使用反射迭代属性,或使用 AutoMapper 为您完成。
-
看看 AutoMapper,这可能是最好的选择。
-
如果我有一个对象的 100 个属性发生了变化怎么办?这将是可怕的代码责备在一个类中创建这些属性的开发人员;)
标签: c# asp.net-mvc api datacontext