.net 实体框架6-StoreGeneratedPattern值未保留
我们正在针对Oracle 12c数据库使用Entity Framework 6.2.0,并且一直遵循数据库优先的方法 我们的许多表都有一个.net 实体框架6-StoreGeneratedPattern值未保留,.net,oracle,entity-framework,ado.net,.net,Oracle,Entity Framework,Ado.net,我们正在针对Oracle 12c数据库使用Entity Framework 6.2.0,并且一直遵循数据库优先的方法 我们的许多表都有一个\u ID列,该列在插入时由数据库生成。这是通过在DB服务器上使用默认值来完成的,TABLE\u SEQUENCE.NEXTVAL 在实体框架中生成DB模型后,我检查并将每个\u ID列标记为StoreGeneratedPattern=“Identity”,我们都准备好了。然而,在一些DB更改之后更新DB模型时,我们注意到了一个问题。特别是一个表会忘记此设置,
\u ID
列,该列在插入时由数据库生成。这是通过在DB服务器上使用默认值来完成的,TABLE\u SEQUENCE.NEXTVAL
在实体框架中生成DB模型后,我检查并将每个\u ID
列标记为StoreGeneratedPattern=“Identity”
,我们都准备好了。然而,在一些DB更改之后更新DB模型时,我们注意到了一个问题。特别是一个表会忘记此设置,并将其重置为None
。所有其他表都记得StoreGeneratedPattern=“Identity”
每次我们从数据库更新数据库模型时,都会发生这种情况。
VisualStudio仍然会说有问题的\u TABLE\u ID
设置了标识
,但是.edmx文件没有。
我的过程是更新模型,然后打开.edmx文件并手动粘贴到该列的StoreGeneratedPattern=“Identity”
我已经将这个表与数据库中的其他表进行了比较,在.edmx中,在代码库中,我找不到任何会导致这个表中的这一列在数据库模型更新时表现不同的内容
TL;DR:在从数据库更新本地DB模型时,一列/表上的
StoreGeneratedPattern
值始终重置,而所有其他列/表的值保持不变。VS仍然说它是Identity
,但.edmx文件中的XML不同意,需要手动更新。特别是一个表忘记了此设置,并将其重置为None
请发布其定义。它是否使用表分区/物理文件位置/群集等特定功能?@LukaszSzozda EDMX文件中的表如下所示:。没什么特别的,它的设置与我们使用的其他表相同。其他表也有XMLTYPE/CLOB列吗?其他几个表也有CLOB,但这是唯一一个有XMLTYPE的表。我将获取迁移期间生成的SQL代码,我猜每次都会重新构建表,并且默认表\u顺序。NEXTVAL
丢失