有什么方法可以将字段设置为“StoreGeneratedPattern=Computed”的值更改

我的表中有一个int字段设置为default 0. 我将此字段设置StoreGeneratedPatternComputed,但使用后无法更改此字段的值SaveChanges()。我在同一个问题上找到了这个答案,只是想知道是否有更好的方法来做到这一点。

编辑

这是从数据库(实体框架 6)生成的 edmx

http://img.mukewang.com/63a66a060001b07204980425.jpg

这是(从我的应用程序)向表中添加一些数据后的结果Intervention,正如您所见,IsDeleted 设置为 0,因为IsDeleted int default 0

http://img1.mukewang.com/63a66a110001da4d10300140.jpg

http://img.mukewang.com/63a66a1d00012a7502960149.jpg

但是在尝试了类似的事情之后

 db.Interventions.Find(currentInterv).IsDeleted = 1;
 db.SaveChanges();

它只是因为 StoreGeneratedPattern=Computed 而不起作用


aluckdog
浏览 63回答 1
1回答

慕尼黑8549860

使用基于 EDMX 的 EF6,您唯一可以做的就是使用存储查询来更改列值。使用代码优先,您可以创建具有不同映射元数据的附加 DbContext 子类型。但 IsDeleted 可能不应该是 StoreGenerated。您可以在数据库中将其默认为 0,而在实体模型中只需将其声明为intand not即可int?。
打开App,查看更多内容
随时随地看视频慕课网APP