2011-08-02 10 views
1

EFからすべてのエンティティクラス名のリストを取得する方法はありますか?私は使用することができますEntity Framework 4.1:すべてのクラス名のリスト

ObjectContext.GetKnownProxyTypes() 

- しかし、このメソッドは、この現在のコンテキストで使用されている型だけを返します。私は自分のDBContextにあるすべての型が必要です。

DBContext。

答えて

0

おかげで、あなたはDbContextからエンティティタイプのリストを取得するためにリフレクションを使用することができませんでしたか?

2

あなたはこれを試すことができます:アダプタが正しくDefaultContainerNameを設定する場合は

ObjectContext context = ((IObjectContextAdapter)dbContext).ObjectContext; 
EntityContainer container = context.MetadataWorkspace 
    .GetEntityContainer(context.DefaultContainerName, DataSpace.CSpace); 
string[] typeNames = container.BaseEntitySets 
           .OfType<EntitySet>() 
           .Select(es => es.ElementType.Name); 

私はよく分かりません。おそらく、派生したコンテキストクラス名と同じであると思われます。

関連する問題