Учитывая модель данных объекта (EDMX) со «стратегией генерации кода», установленной на «Нет», как EF определяет, с какими типами CLR сопоставить концептуальную модель?
Мне кажется, я где-то читал, что он просто исследует сборку для типов, соответствующих концептуальной модели, но это было в отношении CTP-версии EF. Это все еще так?
Можно ли как-то контролировать этот процесс?
В частности, я нахожусь в сценарии, где я перемещаю существенную кодовую базу от использования Linq2SQL к использованию POCO с EF 4.0. Таким образом, у меня есть классы Linq2SQL, а также мои классы POCO, на данный момент находящиеся в одной сборке, но в разных пространствах имен. Я пытаюсь плавно перейти от L2S к EF, поэтому я хотел бы, чтобы две платформы работали параллельно некоторое время. Тем не менее, я получаю ошибку времени выполнения, говорящую
Отображение типа CLR в тип EDM
неоднозначно, потому что несколько типов CLR
соответствует типу EDM SomeType.
Ранее найденный тип CLR
'SomeNamespace.SomeType', недавно найденный
Тип CLR 'SomeNamespace.POCO.SomeType'
где SomeNamespace - пространство имен сущностей L2S. Эта ошибка имеет смысл, если EF просто проверяет все типы, соответствующие концептуальной модели. Могу ли я ограничить EF только проверкой пространства имен SomeNamespace.POCO? Или я должен поместить свои объекты POCO в другую сборку? Или я должен принять третий подход?
Спасибо.