MVC4 + EF5:Bit类型的字段在数据库中没有更新

时间:2014-01-21 21:15:58

标签: sql-server asp.net-mvc-4 .net-4.0 entity-framework-5

我已经阅读了很多关于从ObjectContext到DbContext的更改出现的有关更新机制的问题。

但不幸的是,这些提示并没有解决我的问题。

所以我开始对我的环境做一个简短的总结:

  • VS2012
  • MS SQL Express 2008 R2(v10.50)
  • .NET 4.0
  • MVC4(互联网应用程序模板)
  • EF5

由于我使用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。

任何人都可以帮我解释或暗示,我做错了什么? 因为我几乎可以肯定,错误就在我身边,否则我会在这里找到完全相同的问题......

非常感谢提前!

0 个答案:

没有答案