Entity Framework 4.1: список всех моих имен классов - PullRequest
1 голос
/ 02 августа 2011

Есть ли способ получить список всех имен классов моих сущностей из EF? Я могу использовать

ObjectContext.GetKnownProxyTypes()

-Но этот метод возвращает только типы, которые использовались в этом текущем контексте. Мне нужны все типы, которые есть в моем DBContext.

DbContext.

Спасибо

Ответы [ 2 ]

2 голосов
/ 03 августа 2011

Вы можете попробовать это:

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);

Я не уверен, правильно ли настроен адаптер DefaultContainerName. Вероятно, оно будет таким же, как и ваше производное имя класса контекста.

0 голосов
/ 03 августа 2011

Не могли бы вы использовать Reflection для получения списка типов сущностей из DbContext?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...