实体框架支持来自数据库优先方法的默认约束

Posted

技术标签:

【中文标题】实体框架支持来自数据库优先方法的默认约束【英文标题】:Entity Framework Support Default constrains from DataBase First approach 【发布时间】:2015-10-10 22:22:56 【问题描述】:

我在 MVC 应用程序中使用了 Entity Framework 6.1.3 [DBContext] 数据库优先方法。我在列中有一个带有默认约束的表[例如:默认值 20]。

在没有提及默认约束列值的情况下通过存储过程添加新记录时,它工作正常[新条目添加到表中,默认值 colum=20]。

但是当我尝试通过实体框架添加记录时,由于未在 EDMX 中定义默认约束[默认列值初始化为 null,在添加到上下文之前未在对象中手动定义],因此引发异常。

您能否建议默认约束将在实体框架 6.0 中支持它?当您通过 EDMX 添加记录时,您能否提供一种解决方案来为表添加默认约束值?

【问题讨论】:

您可以创建一个部分类,然后在构造函数中设置值。 ***.com/questions/12691854/… 【参考方案1】:

很遗憾,Entity Framework 6.0 不支持默认值约束。不过,它们是 reportedly 进入 Entity Framework 7,而 Entity Framework 7.0.0-beta6 现在可用。

【讨论】:

以上是关于实体框架支持来自数据库优先方法的默认约束的主要内容,如果未能解决你的问题,请参考以下文章

实体框架模型优先:以编程方式创建 UNIQUE 约束

在实体框架数据库优先方法中将默认值 1 设置为实体名称(状态)

实体框架代码优先问题(SimpleMembership UserProfile 表)

实体框架代码优先主键约束名称

实体框架代码优先 - 不可为空类型的默认值

实体框架代码优先:关系约束中的从属角色和主体角色中的属性数量必须相同