Изменение целевой структуры с 4.0 на 3.5 нарушает модель EF.Ошибка 111: ошибки ссылочного ограничения - PullRequest
4 голосов
/ 21 июня 2011

Я создал модель EF в библиотечном проекте, который нацелен на .NET Framework 4.0.Я просто понизил его до целевого фреймворка 3.5, так как один из проектов, который будет использовать эту библиотеку, нацелен на 3.5 и не может быть обновлен в данный момент.

После изменения целевого фреймворка с 4 на 3.5 я получаю несколько111 ошибок, подобных:

Ошибка 111: Свойства, на которые ссылается WfInstance зависимой роли, должны быть подмножеством ключа EntityType xx.Entity.WfInstance, на который ссылается зависимая роль в ссылочном ограничении дляОтношение xx.Entity.FK_WfInstance_WfStatusType.

Что я получаю из сообщения, так это то, что первичный ключ моей таблицы (WfInstance) должен использовать / содержать идентификатор ссылочной таблицы (WfStatusType) и любых других таблиц, к которым он относитсяРекомендации.Однако я не уверен, как это сделать.

Любая помощь будет признательна.

TIA - GP

1 Ответ

3 голосов
/ 22 июня 2011

Я думаю, что вы отметили (или оставили отмеченным) Включите внешние ключи в модель , когда вы использовали мастер для создания модели для библиотеки .NET 4.0. Это новая функция в .NET 4.0, и ее нельзя понизить до .NET 3.5. Вы найдете это легко, потому что ваши объекты будут содержать свойства для столбцов внешнего ключа. Есть некоторые другие функции, которые могут сломать понижение. В любом случае, поверьте мне, если вам нужна модель для .NET 3.5, лучший способ - удалить EDMX и начать с нуля, потому что восстановление поврежденной модели вручную будет чертовски плохой и долгой задачей.

...