Search code examples
c#asp.net-mvc-3entity-framework-4

Setting default value in entity framework - Database First


I am using Entity Framework 4.3.1, with auto-generated entities from the database.

From this, is there any way to set the default value to something? I don't want to put it in the auto-generated code since it will be overwritten.

I understand that it is possible to use partial classes, so I tried something like this, where entity is generated, and DESCRIPTION_ is the attribute I want to set to a default value.

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

Maybe if somebody could give me an example that would be great!


Solution

  • The example you give means that DESCRIPTION can only ever be "default string"

    You can set it in the constructor

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

    or by switching your property to one with a backing field

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