2015-11-03 64 views
0

我想將CreatedDate和ModifiedDate列添加到現有數據庫。我需要的是每當一行被添加到表格中時,CreatedDateModifiedDate將使用GETDATE()自動設置其值,它們之間的差值是ModifiedDate將在每次修改行時繼續更新。我一直在環顧四周,發現混合答案。這裏是我的代碼:EF6代碼首先添加CreatedDate和ModifiedDate列到現有數據庫

實體

public class Student 
{ 
    public int StudentID {get; set;} 
    public string Name {get; set;} 
    //I want to add CreatedDate and ModifiedDate here 
} 

語境:

public class TestContext: DbContext 
{ 
    public TestContext() 
     : base("TestContext") 
    { 

    } 

    public DbSet<Student> Students { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     //Student 
     modelBuilder.Entity<Student>().HasKey(s => s.StudentID); 
     modelBuilder.Entity<Student>().Property(s => s.Name).IsRequired(); 
    } 
} 

任何幫助將不勝感激。

回答

0

您是否啓用了遷移?如果沒有,您可以在Package Manager Console中啓用它。打開它,然後鍵入:

Enable-Migrations –EnableAutomaticMigrations

然後,在類Student

public class Student 
{ 
    public int StudentID {get; set;} 
    public string Name {get; set;} 
    public DateTime CreatedDate { get; set; } 
    public DateTime ModifiedDate { get; set; } 
} 

回過頭來Package Manager Console和類型:Update-Database -Verbose。刷新你的數據庫,你會看到它們。

在控制器中,您可以通過訪問TestContext他們,就像這樣:

public ActionResult GETDATE(string id) 
{ 
    using (var db = new TestContext()) 
    { 
     var createDate = db.Students.SingleOrDefault(x => x.Id == id).CreateDate; 
     //do something... 
     return View(); 
    } 
} 

希望這有助於你。

+0

我想你只回答OP的一半問題。 –

相關問題