Отображение типа CLR в тип EDM неоднозначно - работает на некоторых машинах - PullRequest
0 голосов
/ 06 июня 2019

Мы столкнулись с определенным сценарием с EF (используя 6.2).

У нас есть библиотека фреймворка, которая использует некоторые общие сущности (таблицы, связанные с фреймворком, такие как «Пользователи», «Роли», «Доступ» и т. Д.), А DAL использует все таблицы / представления базы данных (включая фреймворки). таким образом, у нас есть EDMX в проекте фреймворка с подмножеством таблиц, а у DAL есть еще один EDMX с полной базой данных.

Теперь это работает нормально на одной из машин, на которой собраны библиотеки фреймворков. в то время как мы копируем dll-каркас и остальную часть кода проекта на другую машину разработчика, мы получаем проблему с отображением CLR, которая возникает для некоторых объектов (не для всех).

Мы попытались воссоздать EDMX DAL и сбросить ссылки напрасно. Конфигурация и другие библиотеки кажутся одинаковыми на обеих машинах.

К сожалению, мы не можем изменить файл EDMX вручную, так как несколько разработчиков продолжают работать над проектом с частыми обновлениями EDMX. Поэтому каждый раз обновление может быть не лучшим выбором.

1 Ответ

0 голосов
/ 06 июня 2019

Только что выяснили, что обе строки подключения (каркасы и DAL) в нерабочем компьютере ссылаются на одну модель, что вызывает проблему ..

<add name="CoreDBEntities" connectionString="metadata=res://*/Models.CoreDBModel.csdl|res://*/Models.CoreDBModel.ssdl|res://*/Models.CoreDBModel.msl;

<add name="AppDBEntities" connectionString="metadata=res://*/Models.CoreDBModel.csdl|res://*/Models.CoreDBModel.ssdl|res://*/Models.CoreDBModel.msl;
...