1

我现有的表包含近 50 列,其中大多数具有“默认”约束。

我已经基于这个数据库表创建了模型。一切似乎都很好,直到我尝试插入新行。我有一个 sql server 错误,指出某些列不能为空。似乎从数据库创建模型并没有保留默认约束。

我手动编辑了模型,添加了所有默认值,之后插入没有失败。

所以我的问题是,我如何创建一个自动获取与列关联的默认约束的模型?

使用 mvc4、visual studio 2010、sql server 2008 r2。

谷歌搜索没有意义,因为所有人似乎都在谈论与我需要的不同的东西。

4

2 回答 2

1

很确定我从可能的默认日期时间字段到 GETDATE() 的答案与实体框架迁移?也会为你工作。通过使用修改后的 MigrationCodeGenerator 类并遍历操作列表,您可以更新列并根据您需要的任何规则添加 DefaultValueSql 值。

于 2014-01-09T15:21:48.010 回答
0

好吧,你有很多选择。您可以在模型的默认构造函数中设置默认值。我认为这是更好的解决方案。

如果您的数据库中必须有默认约束,您可以defaultValueSql像这样在数据迁移中设置:

AddColumn("ExistingTable", "NewColumn",c => c.Int(nullable: false, defaultValueSql: "0"));
于 2013-02-02T17:41:39.350 回答