エンティティ・プロキシ・タイプからエンティティPOCOタイプを取得する方法

entity-framework-core

質問

私は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;
    }
}


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ