Я использую Linq2Sql для обновления данных строки, но как только я изменю значения, я исследовал эту проблему раньше и нашел следующие возможные причины:
- Сущность не была изменена, поэтому обновление не происходит
- У объекта отсутствует первичный ключ, но обновление не происходит
Ничего из этого в моей ситуации нет.
У меня есть ПК в моем классе и за столом. GetChangeSet() контекста данных указывает, что есть по крайней мере 1 обновление.
Единственные проблемы, которые я вижу, это то, что из журнала контекста данных не создается оператор обновления.
Кто-нибудь знает, в чем может быть дело.
Вот пример кода:
using(context db=new context())
{
db.Log=new System.IO.StreamWriter(sample){AutFlush=true};
MyObject obj=db.MyTable.SingleOrDefault(row=>Email==email);
if(obj!=null)
{
obj.FirstName=firstName;
obj.LastName=lastName;
System.Data.Linq.ChangeSet set=db.GetChangeSet();
db.SubmitChanges();
}
}