导航属性我有两个类:EF不更新数据库
public class Foo
{
public Guid Id { get; set; }
public string Subject { get; set; }
public TenderType TenderType { get; set; }
}
和
public class TenderType
{
public Guid Id { get; set; }
public string Name { get; set; }
}
当编辑Foo
类,当我改变TenderType
属性,并使用此代码:
_db.Entry(tender).State = EntityState.Modified;
_db.SaveChanges();
一切似乎都起作用,我的上下文将用新值更新,但仅限于像Subject
这样的属性在数据库中已经改变!并且TenderType
在数据库中仍然保持不变(不在上下文中)!
即使在调用db.SaveChange()
后,如果我在Foo
上执行提取Linq查询,上下文将返回一个包含新值的记录!但在数据库中,TenderType
仍然具有旧值。
这是什么实体框架的行为,为什么?
我该如何解决这个问题?
(我使用EF 5)。
你能告诉你如何修改/编辑你的Foo类的实例吗? –