2014-02-21 86 views
0

此問題涉及ASP.NET MVC 5.0模型類。ASP.NET MVC 5.0模型類 - 如何在模型類中創建屬性但不創建數據庫字段

我有例如ASP.NET MVC5.0模型類,看起來像這樣

public class Car 
    { 

     public int ID { get; set; } 

     public string CarType { get; set; } 

     public string SelectedType { get; set; } 

    } 

不過,我不希望這種模式對於物業SelectedType創建的數據庫字段。

是否有任何可用屬性告訴實體框架不要爲SelectedType創建數據庫字段?

非常感謝您的幫助。

+0

我強烈建議不要將您的顯示模型用作數據庫實體。 Car類應該由EF擁有。你應該有一個單獨的'CarModel'類。 – cadrell0

+0

謝謝我得到這是一個很好的設計,爲模型和視圖模型分開的類!但我想知道如何讓EF不創建數據庫字段。 – user3338918

回答

0

可以使用NotMapped數據詮釋排除purticular屬性象下面這樣:

public class Car 
{ 
    // 
    [NotMapped] 
    public string SelectedType { set; get; } 
} 

您還可以Fluent API做到這一點,但你需要重寫OnModelCreating象下面這樣:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<Car>().Ignore(n => n.SelectedType ); 
    base.OnModelCreating(modelBuilder); 
} 
+0

非常感謝你展示了不同的方式來實現這個! – user3338918

2

你可以使用Fluent API忽略例子;

modelBuilder.Entity<Department>().Ignore(t => t.Budget); 
+0

謝謝你的幫助! – user3338918

相關問題