edmx计算列

时间:2012-06-27 19:02:42

标签: c# .net entity-framework entity edmx

我在visual studio 2010 SP1中创建了一个EDMX。它是从现有数据库构建的。

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

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

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

这是EDMX一代的错误还是我可能做错了什么?

非常感谢 卡尔

1 个答案:

答案 0 :(得分:1)

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

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