タイプに到達するのに問題はありません
本質的にプライベートなネストされたプロパティに簡単にアクセスできます。
var modelConfigurationFieldInfo=
_modelBuilder.Configurations.GetType().GetField(
"_modelConfiguration",
System.Reflection.BindingFlags.NonPublic
|System.Reflection.BindingFlags.Instance
);
var modelConfiguration=
modelConfigurationFieldInfo.GetValue(
_modelBuilder.Configurations);
var entityConfigurationsFieldInfo=
modelConfiguration.GetType().GetField(
"_entityConfigurations",
System.Reflection.BindingFlags.NonPublic
|System.Reflection.BindingFlags.Instance
);
var entityConfigurations=
entityConfigurationsFieldInfo.GetValue(modelConfiguration);
問題はmy _entityConfigurations
、次のタイプです。
Dictionary`Type、System.Data.Entity.ModelConfiguration.Configuration.Types.EntityTypeConfiguration
2 番目のタイプは内部的なものであり、コードに追加するとコンパイルされないことに注意してください。dynamic
andにキャストしようとしましたが、どちらもthe protection level is not allowed というobject
エラーが表示されます。
返された辞書を何らかの形で反復する方法が必要です。