2014-02-21 90 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

相关问题