我正在使用 Linq2Sql 更新行数据,但是一旦我更改了值,我之前研究过这个问题并发现了以下可能的原因:
- 实体未更改,因此不会发生更新
- 实体缺少主键但未发生更新
在我的情况下,这些都不是。
我的课和桌子上有我的 PK。数据上下文的 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();
}
}