EF4: Нет свойства с именем CountryId, определенного в типе, указанном ролью Customer - PullRequest
2 голосов
/ 11 февраля 2010

В моей базе данных (SQL2008) у меня есть таблица клиентов и таблица стран (среди прочих), и в базе данных определено отношение внешнего ключа между этими таблицами на основе «Country.Id -> Customer.CountryId».

Я создал модель EF с использованием VS2010 RC и создал эту модель из базы данных. При создании модели я решил включить свойства внешнего ключа.

После построения модели я выбрал ряд свойств в объекте «Клиент», щелкнул правой кнопкой мыши и выбрал «Рефакторинг в новый сложный тип», который я назвал «Адрес». Одним из выбранных мной свойств было свойство CountryId (фактически это были все свойства адреса, но я сомневаюсь, что это имеет значение).

Теперь, когда я сохраняю модель, я получаю ошибку, показанную выше: «Не существует свойства с именем CountryId, определенного в типе, указанном ролью« Клиент »». Я знаю, что сломал это, но я не могу понять, как это исправить снова. Я могу вам сказать, что свойство навигации «Страна» остается на объекте «Клиент» (возможно, следовало бы включить это и в объект «Адрес», но не могу понять, как добавить это сейчас, когда я создал сложный тип.

Я приветствую ваши предложения!

1 Ответ

1 голос
/ 11 февраля 2010

Мое предложение: создайте новую модель, сопоставьте ее «правильно», затем скопируйте соответствующие биты CSDL и MSL в существующую модель. Чтобы сделать это правильно, может потребоваться пара попыток, поэтому сначала сделайте резервную копию!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...