遇到一个奇怪的问题
using (var db = Data.Database.GetContext()) { var data = new Data.Intro { Id = Id }; db.Intros.Attach(data); if (FieldManager.IsFieldDirty(_name)) data.Name = Name; if (FieldManager.IsFieldDirty(_content)) data.Content = Content; if (FieldManager.IsFieldDirty(_sort)) data.Sort = Sort; if (FieldManager.IsFieldDirty(_enabled)) data.Enabled = Enabled; db.SaveChanges(); }
Enabled字段无法被更新到数据库,其他字段都可以,
直接写 data.Enabled = false; // or true 同样不能更新,
查看sql profiler,update 语句中没有Enabled字段,
为啥?
其实我是想问 这样的字段为啥 不用 smallint 或者char(1) 来设计表?