【问题标题】:Using Entity Framework 4.0, is there a code first data annotations that enables defining a default value for a db column?使用 Entity Framework 4.0,是否有代码优先数据注释可以为 db 列定义默认值?
【发布时间】:2012-07-23 16:45:58
【问题描述】:

我在 Entity Framework 4.0 中使用代码优先模式。我希望数据库中的某些列具有默认值。

public class Customer
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }        
    //I need some kind of attribute like this
    [ColumnAttribute.Default = false]
    public bool IsEnabled { get; set; }
}

我正在寻找一种方法来将 IsEnabled 列的默认值定义为 false

【问题讨论】:

标签: .net entity-framework ef-code-first


【解决方案1】:

我不知道有任何数据注释可以实现您的目标。我认为只是去老学校并将其设置在您的构造函数中是要走的路。

【讨论】:

  • 问题是我希望它是实体框架生成的数据库的一个属性,所以它不是我所需要的。
  • 我明白你在说什么,但这绝对违反了代码第一范式。代码优先的整个概念本质上是不接触数据库并允许 EF 为您设置和管理所有内容。代码优先当然不适合所有人和每个用例,但如果你决定先编写代码,你应该坚持基本概念。
【解决方案2】:

默认值没有注释,但是你可以在你的 POCO 的构造函数中设置默认值。

【讨论】:

  • 问题是我希望它是实体框架生成的数据库的一个属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-03
  • 2017-10-08
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多