我有一个相当大的 EF 模型,我试图避免遍历每个类并寻找 enum
类型的属性并设置 [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());
最佳答案
您可以忽略类型配置级别的属性,因此您需要从 modelBuilder.Types()
开始,而不是从 modelBuilder.Properties()
开始:
modelBuilder.Types().Configure(typeConfiguration =>
{
foreach (var property in typeConfiguration.ClrType
.GetProperties().Where(p => p.PropertyType.IsEnum))
{
typeConfiguration.Ignore(property);
}
});
关于c# - EF6 忽略(NotMapped)所有枚举类型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22666966/