私はEF6からEF-Coreにプロジェクトを移行しています。メタデータAPIが大幅に変更されました。この解決策を見つけることができません。
EF6の下で私はプロキシタイプからPOCOタイプを見つけることができました:
ObjectContext.GetObjectType(theEntity.GetType)
ただし、これはEF-Core( ObjectContext
クラスなし)では動作しません。私は検索し、無駄に検索しました。 entity
またはentity proxy type
いずれかからPOCOタイプを取得する方法を知っていますか?
EFコアはObjectContext
APIをサポートしていません。さらに、EFコアにはプロキシタイプがありません。
IModel
からエンティティタイプに関するメタデータを取得できます。
using (var db = new MyDbContext())
{
// gets the metadata about all entity types
IEnumerable<IEntityType> entityTypes = db.Model.GetEntityTypes();
foreach (var entityType in entityTypes)
{
Type pocoType = entityType.ClrType;
}
}