Почему EntityType возвращает пространство имен контекста, но не сущности?

Мне нужно получить тип объекта CLR от EntityType.FullName но это неверно.

Наши модели размещаются в пространстве имен, отличном от контекста.

Когда я получаю EntityType.FullName это возвращается <ContextNamespace>.<EntityName>, но нет <EntityNamespace>.<EntityName>, Это особенность? Что я делаю неправильно?

1 ответ

Решение

Как обычно... неверные предположения. Типы CLR доступны в DataSpace.OSpace, И EntityType от CSpace содержит, казалось бы, "виртуальное" пространство имен, несколько не связанное с CLR.

Роуэн написала хороший пост о получении метаданных для данного типа.

Похоже, что Name - единственное, что связывает тип CLR с EntityType.
Я пытался добавить новое DbSet с сущностью, поступающей из другого пространства имен, но имеющей то же имя класса. EF просто бросил InvalidOperationException,

Другие вопросы по тегам