EFからすべてのエンティティクラス名のリストを取得する方法はありますか?私は使用することができますEntity Framework 4.1:すべてのクラス名のリスト
ObjectContext.GetKnownProxyTypes()
- しかし、このメソッドは、この現在のコンテキストで使用されている型だけを返します。私は自分のDBContextにあるすべての型が必要です。
DBContext。
EFからすべてのエンティティクラス名のリストを取得する方法はありますか?私は使用することができますEntity Framework 4.1:すべてのクラス名のリスト
ObjectContext.GetKnownProxyTypes()
- しかし、このメソッドは、この現在のコンテキストで使用されている型だけを返します。私は自分のDBContextにあるすべての型が必要です。
DBContext。
おかげで、あなたはDbContextからエンティティタイプのリストを取得するためにリフレクションを使用することができませんでしたか?
あなたはこれを試すことができます:アダプタが正しく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);
私はよく分かりません。おそらく、派生したコンテキストクラス名と同じであると思われます。