ADO.NET Entity Framework: мастер обновления не будет добавлять таблицы - PullRequest
87 голосов
/ 13 февраля 2009

I добавил новую модель данных объекта ADO.Net в мой проект и использовал мастер обновления для добавления таблиц в модель. Пять выбранных таблиц были добавлены в область дизайна. Две другие таблицы не добавятся. Я выбираю их в мастере и нажимаю кнопку Готово, но они никогда не отображаются на поверхности дизайна.

Это ошибка, или в некоторых ситуациях таблица не может быть добавлена ​​в модель (по замыслу)?

<ч />

ОБНОВЛЕНИЕ: XML (* .edmx) выявляет проблему.

<!--Errors Found During Generation:
warning 6013: The table/view 'FooBar.dbo.Roles' does not 
have a primary key defined and no valid primary key could be inferred. 
This table/view has been excluded. To use the entity you will need to 
review your schema, add the correct keys and uncomment it.-->
<!--<EntityType Name="Roles">
    <Property Name="role_id" Type="decimal" />
    <Property Name="role_desc" Type="nvarchar" MaxLength="30" />
</EntityType>-->

Спасибо Крейг за ваш ответ.

Ответы [ 11 ]

0 голосов
/ 26 июля 2013

Вам не нужно удалять всю модель (это могут быть сотни таблиц!).

Мастер может обрабатывать «добавление новых» элементов, но некоторые изменения, такие как изменение составных ключей и переименование столбцов - он не знает, что делать - поэтому он не пытается - и вещи не синхронизируются. *

SO: УДАЛИТЕ соответствующие таблицы из модели (концептуальный режим) И из Model.Store, а затем обновите модель с помощью мастера и заново добавьте только эти таблицы.

...