LINQ没有更新.SubmitChanges()

ctr*_*yan 22 linq submitchanges linq-to-sql

有什么理由这样的东西不起作用吗?

这是我多次用LINQ更新表中记录的逻辑:

 DataClasses1DataContext db = new DataClasses1DataContext();
 User updateUser = db.Users.Single(e => e.user == user);
 updateUser.InUse = !updateUser.InUse;
 db.Log = new System.IO.StreamWriter(@"c:\temp\linq.log") { AutoFlush = true };
 db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

(updateUser.InUse是一个位字段)

由于某种原因,它无法正常工作.当我检查linq.log时,它是完全空白的.

我的.dbml可能有问题吗?其他表似乎工作正常,但我比较.dbml中的属性,它们都匹配.

好像是db.SubmitChanges(); 没有检测到任何需要的更新.

ctr*_*yan 69

该表无法正确更新,因为它没有主键.(实际上它有列,但是当我执行SELECT INTO我的开发表时没有复制约束).DataContext类需要主键进行更新.

  • 还有我的。这么多年过去了,我还是会犯这个错误。很容易被忽视,尤其是。当只有一张桌子有问题时。为什么飞碟仍然位居榜首?代表太多? (2认同)