我有一个非常大的EF模型,我试图避免浏览每个类并捕获enum
类型的属性并在它们之上设置[NotMapped]
属性。我正在跳的是写这样的smth
protected override void OnModelCreating(DbModelBuilder modelBuilder){
modelBuilder.Properties<enum>().Configure(p=>p.Ignore());
....
或
modelBuilder.Properties().Where(p=>p.GetType().IsEnum).Configure(p=>p.Ignore());
答案 0 :(得分:3)
您可以忽略类型配置级别的属性,因此您需要从modelBuilder.Types()
开始,而不是从modelBuilder.Properties()
开始:
modelBuilder.Types().Configure(typeConfiguration =>
{
foreach (var property in typeConfiguration.ClrType
.GetProperties().Where(p => p.PropertyType.IsEnum))
{
typeConfiguration.Ignore(property);
}
});