将控制器中的模型值与数据库值进行比较



我正在尝试在控制器的POST更新我的模型:

我在这里从数据库中获取原始值:

var origAttributes = (from tAttr in db.TeacherAttrs where tAttr.ID == ta.ID select tAttr);

ViewModel里有一处房产,是一种db.TeacherAttr

物业名称: ta.DMTeacherAttr

我想知道有没有办法比较我的模型(ta.DMTeacherAttr)和数据库中已有的值之间的值?

我也在使用实体框架 5。

你试过这个吗:

var origTeacherAttr = db.TeacherAttrs.Find(ta.ID);
if(origTeacherAttr.DMTeacherAttr==ta.DMTeacherAttr)
{
//Do something
}

如果比较的目的是查看哪些字段确实需要更新,那么实体框架将为您完成此操作,您需要做两件事:

  1. 将视图模型映射到模型
  2. 将所有模型属性设置为虚拟

实体框架将使用代理包装您的类,并将跟踪其属性。

最新更新