У меня есть два класса: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()
, если я выполнил запрос Linq Fetch на Foo
, контекст возвратил запись с новыми значениями! Но в базе данных TenderType
все еще имеет старые значения.
Что такое поведение платформы Entity Framework и почему?
Как это исправить?
(я использую EF 5).
Можете ли вы показать, как вы ** изменяете/редактируете ** экземпляр вашего класса 'Foo'? –