实体框架 6 - StoreGeneratePattern 值不保留

nei*_*mp1 5 .net oracle ado.net entity-framework

我们针对 Oracle 12c 数据库使用 Entity Framework 6.2.0,并且一直遵循数据库优先方法。

我们的许多表都有一个_ID由数据库在插入时生成的列。这是通过使用数据库服务器上的默认值 来完成的TABLE_SEQUENCE.NEXTVAL

在实体框架中生成数据库模型后,我检查了每一_ID列并将其标记为StoreGeneratedPattern="Identity",我们就准备好了。然而,在一些数据库更改后更新数据库模型时,我们注意到一个问题。特别是有一个表会忘记此设置并将其重置回None。所有其他表都记得StoreGeneratedPattern="Identity"

每次我们从数据库更新数据库模型时,都会发生这种情况。Visual Studio 仍会说PROBLEMATIC_TABLE_IDIdentity设置,但 .edmx 文件没有。我的过程是更新模型,然后打开 .edmx 文件并手动粘贴StoreGeneratedPattern="Identity"该列。

我已将该表与数据库、.edmx、代码库中的其他表进行了比较,但我找不到任何会导致该表上的这一列在数据库模型更新时表现不同的任何内容。

TL;DR:从数据库更新本地数据库模型后,StoreGeneratedPattern列/表的值始终会重置,而所有其他列/表的值保持不变。VS 仍然说是,但 .edmx 文件中的 XML 不同意,需要手动更新。Identity