我在表中将一个int
字段设置为default 0
。我将此字段的StoreGeneratedPattern
设置为Computed
,但是在使用SaveChanges()
后无法更改此字段的值。
我在同一问题上发现了这个answer,只是想知道是否有更好的方法可以做到这一点。
修改
这是从数据库(实体框架6)生成的edmx
这是在(从我的应用程序中)向表Intervention
添加一些数据并且由于IsDeleted int default 0
而将IsDeleted设置为0后的结果
和
但是尝试了类似的
db.Interventions.Find(currentInterv).IsDeleted = 1;
db.SaveChanges();
由于StoreGeneratedPattern = Computed,它无法正常工作
答案 0 :(得分:0)
对于基于EDMX的EF6,您唯一可以做的就是使用存储查询来更改列值。使用代码优先功能,您可以创建具有不同映射元数据的其他DbContext子类型。
但是IsDeleted可能不应该由StoreGenerated生成。您可以在数据库和实体模型中将其默认设置为0,只需将其声明为int
而不是int?
。