2014-02-19 35 views
1

我想更新我在我的控制器的POST型号:在控制器比较模型值与数据库值

我从数据库中及彼原始值:

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

我有在我ViewModel一个属性,它是一类db.TeacherAttr

属性名称:ta.DMTeacherAttr

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

我也使用实体框架5。

回答

1

你有没有尝试过这样的:

var origTeacherAttr = db.TeacherAttrs.Find(ta.ID); 

if(origTeacherAttr.DMTeacherAttr==ta.DMTeacherAttr) 
{ 
//Do something 
} 
0

如果比较的目的是为了看什么领域究竟需要更新,然后实体框架会为你做,你需要做两件事情:

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

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