Модель данных сущности - добавление таблицы без ключа

Visual studio дает мне след ошибок, в которые я попал в тупик. Я пытаюсь добавить существующую таблицу в базе данных к моей модели данных. Я понимаю, что таблица должна иметь ключ, но это не так, и я не могу это исправить; это не моя база данных для повторной разработки.

Когда я сначала пытаюсь добавить таблицу, я получаю эту ошибку:

Таблица/представление 'BT8_GC.dbo.SAVED_QUERY_CATEGORY' делает не определены первичный ключ и нет допустимый первичный ключ может быть выведен. Эта таблица/представление исключено. к используйте сущность, вам нужно будет просмотрите свою схему, добавьте правильную и раскомментируйте его.

Хорошо, хорошо, я буду определять ключи для него и раскомментировать. Вот блок, который я раскомментировал, после того, как вручную определил ключи (мне также пришлось добавить значение nullable = false):

<entitytype name="SAVED_QUERY_CATEGORY">
 <key>
 <propertyref name="SQC_CAT_ID">
 <propertyref name="SQC_USER_ID">
 </propertyref></propertyref></key>
 <property name="SQC_CAT_ID" type="int" nullable="false">
 <property name="SQC_USER_ID" type="int" nullable="false">
 <property name="SQC_CAT_DSCR" type="varchar" maxlength="50">
 <property name="SQC_SEQ_NO" type="int">
 </property></property></property></property></entitytype>

Нет, теперь дизайнер не откроется. Вернитесь в файл, и Intellisense показывает эту ошибку:

Ошибка 11002: Тип объекта "SAVED_QUERY_CATEGORY" не имеет сущности.

Ок... Раскомментирование создало новую ошибку. После добавления набора объектов:

Ура! Дизайнер открывается! Пока еще нет, потому что пока он отображается в папке "Таблицы/представления" магазина, в модели он не имеет типа Entity. Не могу назвать это из моего кода. У меня нет никаких ошибок для работы, поэтому я попытался создать сопоставление набора объектов, но это приводит к ошибке "не существует в метаданных в пространстве".

Итак, что я пробовал. Как получить эту плохо разработанную таблицу в моей модели данных?

1 ответ

При изменении XML вы добавили только информацию о таблице базы данных. Теперь вам нужно открыть панель инструментов и добавить объект в свою модель в дизайнере. Настройте объект на наличие свойств по мере необходимости. Затем откройте данные отображения и сопоставьте новый объект с таблицей.

Btw. как только вы измените XML-описание базы данных вручную, вы больше не сможете использовать обновление из базы данных - конструктор VS всегда будет удалять ваши изменения, и вам придется их повторять снова.

licensed under cc by-sa 3.0 with attribution.