2016-07-10 15 views
1

私はEF6からEF-Coreにプロジェクトを移行しています。メタデータAPIが大幅に変更されていると私はこれに対する解決策を見つけることができません:EF6の下エンティティ・プロキシ・タイプからエンティティPOCOタイプを取得する方法は?

私が使用してプロキシのタイプからPOCOタイプを見つけることができる:

ObjectContext.GetObjectType(theEntity.GetType) 

これを、しかし、下に動作しません。 EFコア(no ObjectContextクラス)。私は検索し、無駄に検索しました。誰でもentityまたはentity proxy typeからPOCOタイプを取得する方法を知っていますか?

答えて

3

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; 
    } 
} 
関連する問題