Почему EntityType возвращает пространство имен контекста, но не сущности?
Мне нужно получить тип объекта CLR от EntityType.FullName
но это неверно.
Наши модели размещаются в пространстве имен, отличном от контекста.
Когда я получаю EntityType.FullName
это возвращается <ContextNamespace>.<EntityName>
, но нет <EntityNamespace>.<EntityName>
, Это особенность? Что я делаю неправильно?
1 ответ
Как обычно... неверные предположения. Типы CLR доступны в DataSpace.OSpace
, И EntityType от CSpace
содержит, казалось бы, "виртуальное" пространство имен, несколько не связанное с CLR.
Роуэн написала хороший пост о получении метаданных для данного типа.
Похоже, что Name - единственное, что связывает тип CLR с EntityType.
Я пытался добавить новое DbSet
с сущностью, поступающей из другого пространства имен, но имеющей то же имя класса. EF просто бросил InvalidOperationException
,