如果我使用StoreGeneratedPattern="None"
,则SaveChanges()会抛出异常。它尝试使用ID=0
保存对象管理员。它对所有其他对象也是如此。 ID
始终为0.如果我使用StoreGeneratedPattern="Identity"
,则会再次抛出异常:
A null store-generated value was returned for a non-nullable member 'AdminId'
我的表中有这个专栏:
adminid integer NOT NULL DEFAULT nextval('admin.seq_admin'::regclass)
编辑 nextval是自动增量的正确命令吗? postgresql中有IDENTITY
吗?
答案 0 :(得分:1)
以nextval开头是自动增量的正确命令。 我在postgresql中遇到了同样的问题,并且厌倦了manny不同的settign在ef和pgsql中,但是当我重新创建表时,问题就消失了,不知怎的,新的序列在最后用1(tasktasktitleid_seq1)自动生成。
编辑:我又遇到了同样的问题所以我做了什么: 1.从表中删除Id。 2.创建了大型系列的新列 3.打开表属性并在约束选项卡中添加新主键。 保存表后,我得到了一个新的自动生成序列的id的默认值,从那时起我的保存表完美无缺。