Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set default value for POCO's in EF CF?

In Entity Framework Code First approach, how do you set a default value for a property in the POCO's EntityConfiguration class?

public class Person {     public int Id { get; set; }     public string Name { get; set; }     public DateTime CreatedOn { get; set; } }  public class PersonConfiguration : EntityConfiguration<Person> {     public PersonConfiguration()     {         Property(p => p.Id).IsIdentity();         Property(p => p.Name).HasMaxLength(100);          //set default value for CreatedOn ?     } } 
like image 786
Andy Avatar asked Jun 29 '10 03:06

Andy


1 Answers

With the release of Entity Framework 4.3 you can do this through Migrations.

EF 4.3 Code First Migrations Walkthrough

So using your example it would be something like:

public partial class AddPersonClass : DbMigration {     public override void Up()     {         CreateTable(             "People",             c => new                 {                     Id = c.Int(nullable: false, identity: true),                     Name = c.String(maxLength: 100),                     CreatedOn = c.DateTime(nullable: false, defaultValue: DateTime.UtcNow)                 })             .PrimaryKey(t => t.Id);     }      public overide void Down()     {         // Commands for when Migration is brought down     } } 
like image 180
Chris Pacey Avatar answered Sep 30 '22 16:09

Chris Pacey