我已经阅读了很多关于从ObjectContext到DbContext的更改出现的有关更新机制的问题。
但不幸的是,这些提示并没有解决我的问题。
所以我开始对我的环境做一个简短的总结:
由于我使用CodeFirst方法,因此我使用简单的bool字段扩展了UserProfile表,并相应地调用了 update-database 。
[Required] public bool IsEmailApproved { get; set; }
当我在DB Context中搜索并找到用户时:
UserProfile user = ctx.UserProfiles.FirstOrDefault(u => u.SomeField == Id);Entity.State 未修改,就像它应该的那样。
然后我开始更新:
user.UserName = DateTime.Now.ToString(); user.IsEmailApproved = true;
并且州立即更改为已修改 - 也没什么特别的。
但是在
ctx.SaveChanges();
数据库只接收文本字段更新,而不是BIT udpate。
任何人都可以帮我解释或暗示,我做错了什么? 因为我几乎可以肯定,错误就在我身边,否则我会在这里找到完全相同的问题......
非常感谢提前!