2014-03-26 70 views
1

我有一個非常大的EF模型,並且我試圖避免通過每個類並釣取enum類型的屬性和設置[NotMapped]屬性。我是跳頻是是寫水木清華這樣EF6忽略(NotMapped)所有枚舉類型屬性

protected override void OnModelCreating(DbModelBuilder modelBuilder){ 
    modelBuilder.Properties<enum>().Configure(p=>p.Ignore()); 
    .... 

modelBuilder.Properties().Where(p=>p.GetType().IsEnum).Configure(p=>p.Ignore()); 

回答

3

可以忽略類型配置級別的屬性,所以你需要從modelBuilder.Types(),而不是開始從modelBuilder.Properties()

modelBuilder.Types().Configure(typeConfiguration => 
{ 
    foreach (var property in typeConfiguration.ClrType 
     .GetProperties().Where(p => p.PropertyType.IsEnum)) 
    { 
     typeConfiguration.Ignore(property); 
    } 
});