在实体框架中设置默认值 - Database First

时间:2012-10-02 14:06:20

标签: c# asp.net-mvc-3 entity-framework-4

我正在使用Entity Framework 4.3.1,其中包含数据库中自动生成的实体。

从这里,有没有办法将默认值设置为某个东西?我不想把它放在自动生成的代码中,因为它会被覆盖。

我知道可以使用部分类,所以我尝试了类似的东西,其中生成了实体,而DESCRIPTION_是我想要设置为默认值的属性。

namespace name.Models
{
    public partial class ENTITY
    {
        public string DESCRIPTION_
        {
            set { _DESCRIPTION_ = "default string"; }
        }
    }
}

也许有人可以给我一个很棒的例子!

2 个答案:

答案 0 :(得分:4)

您提供的示例意味着DESCRIPTION只能是“默认字符串”

您可以在构造函数中设置它

namespace name.Models 
{
  public partial class ENTITY
  {
    private string defaultDescription = "some text";
    public ENTITY() {
      DESCRIPTION_ = defaultDescription;
    } 
  }
}

或将您的财产切换为具有支持字段的属性

namespace name.Models
{
    public partial class ENTITY
    {
        private string _desc = "some default value"; 
        public virtual string DESCRIPTION_ {get {return _desc} set {_desc = value;} }
    }
}

答案 1 :(得分:2)

您在分部类上使用OnCreated

public partial class ENTITY
{    
  partial void OnCreated()
  {
    DESCRIPTION_ = "default string";
  } 
}