简体   繁体   English

ADO.NET实体模型更新

[英]ADO.NET Entity Model Update

Hi i am trying to update a record from the database, but for some reason the record is not updated. 嗨,我正在尝试从数据库中更新一条记录,但由于某种原因,该记录未更新。 I am using ADO.NET entity Framework 4.0 我正在使用ADO.NET实体Framework 4.0

public void updateCredits(string username)
 {
     myDBEntities Entity = new myDBEntities();
     User u = Entity.Users.SingleOrDefault(u => u.username == username)
     u.firstname = "name";
     u.credits = 11.5;
     Entity.SaveChanges();
 }

I tried restarting VS and even the SQL Server but no luck. 我尝试重新启动VS,甚至重新启动SQL Server,但是没有运气。 Am i doing something wrong? 难道我做错了什么?

It looks like there is an issue with change tracking. 变更跟踪似乎存在问题。 You can try manually marking the User entity as changed like so: 您可以尝试将User实体手动标记为已更改,如下所示:

public void updateCredits(string username)
 {
     myDBEntities Entity = new myDBEntities();
     User u = Entity.Users.SingleOrDefault(u => u.username == username)
     u.firstname = "name";
     u.credits = 11.5;
     Entity.Entry(u).State = EntityState.Modified;  //<-- manually indicate the entity was changed
     Entity.SaveChanges();
 }

If the above code works, then there's a good chance ChangeTracking is being disabled somehow. 如果以上代码有效,则很有可能以某种方式禁用了ChangeTracking。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM