2

我在 Visual Studio 2010 SP1 中创建了一个 EDMX。它是根据现有数据库构建的。

有许多数据库生成的列(即,不可为空,GETDATE() 作为默认值)。

EDMX 虽然似乎没有检测到这些列,也没有将“StoreGeneratedPattern”设置为“Computed”。我将不得不手动设置这些东西才能正常工作!

数据库非常大,所以这并不理想。

这是 EDMX 生成的错误还是我可能做错了什么?

非常感谢卡尔

4

1 回答 1

1

这不是错误。它只是以这种方式工作,因为当前日期的默认约束设置列不是计算列。每次保存记录时,计算列都会更改其值 - 例如时间戳。此外,使用StoreGeneratedPatternset toIdentityComputed无法从您的应用程序中设置属性。您的列接受其他值,因此 EF 无法使其存储默认生成 - 由您决定。

如果要对所有记录使用数据库中的默认值,请将其设置StoreGeneratedPatternIdentity. 它将确保在插入期间设置和查询该值。将模式设置为Computed将在每次更新后创建不必要的查询。

于 2012-06-28T08:48:21.787 回答