繁体   English   中英

如何防止属性更新,使用 npgsql - postgresql 标记为“UseNpgsqlIdentityAlwaysColumn()”

[英]How can I prevent a property from updating, which is marked as “UseNpgsqlIdentityAlwaysColumn()” using npgsql - postgresql

我将 postgresql db 与 entityframework 核心和 npgsql 核心一起使用。 我有一个名为“索引”的属性,它是身份类型列。 索引列不是ID列,而是db生成的序列列。 它标有“UseNpgsqlIdentityAlwaysColumn()”,以便在添加时通过 db 生成值。

插入(添加)操作没有问题。 但是,在更新实体时,我收到错误“428C9:列“索引”只能更新为默认值”

我试图标记为“ValueGeneratedOnAdd()”。 但这没有帮助。

builder.Property(x => x.Index).ValueGeneratedOnAdd().UseNpgsqlIdentityAlwaysColumn();

如何更新忽略“索引”属性的实体?

非常感谢。

一些讨厌的解决方法将其标记为未修改。 只需使用一些存储库模式和 vuola

 db.Entry(model).State = EntityState.Modified;
 db.Entry(model).Property(x => x.Index).IsModified = false;
 db.SaveChanges();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM