这是我的 POCO 对象:
public class ExampleTestOfDataTypes
{
public float FloatProp { get; set; }
public BoolWrapper BoolProp2 { get; set; }
}
这是 POCO 的配置文件
public class ExampleTestOfDataTypesConfig : EntityTypeConfiguration<ExampleTestOfDataTypes>
{
public ExampleTestOfDataTypesConfig()
{
this.Property(x=>x.FloatProp).HasColumnName("CustomColumnName");
}
}
这是 EntityTypeConfiguration 的定义(属性配置只是示例)
ExampleTestOfDataTypesConfig config = new ExampleTestOfDataTypesConfig();
我需要遍历类 ExampleTestOfDataTypes 的所有属性,找到 dataTypes 派生自 Wrapper(BoolWrapper 是)的所有属性,然后使用 lambda 表达式获取这些属性。或者无论如何通过 config.Property(...) 选择它们
Type configPocoType = config.GetType().BaseType.GetGenericArguments()[0];
var poco = Activator.CreateInstance(configPocoType);
foreach (System.Reflection.PropertyInfo property in poco.GetType().GetProperties())
{
if (property.PropertyType.BaseType!=null&&
property.PropertyType.BaseType == typeof(Wrapper)
)
{
//TODO: Set property
//config.Property(x=>x.[What here]); //?
}
}
谢谢