Как добавить таблицу в модель? - PullRequest
0 голосов
/ 24 февраля 2019

Используется:
- VS 2017;
- Win 7x64;
- MS Sql Server 2012;
- EntityFramework - 6.2.0;

Модель enter image description here

Таблица "tbl_xx"

    CREATE TABLE [dbo]. [Tbl_xx] (
       [Field] int NULL
    )
    ON [PRIMARY]
    GO
     
    ALTER TABLE [dbo]. [Tbl_xx] SET (LOCK_ESCALATION = TABLE
)


Я пытаюсь добавить таблицу к модели enter image description here enter image description here enter image description here

Таблица не добавлена.

Вопросы
1. Я делаю все правильно, чтобы добавить таблицу в модель?
2. Как добавить таблицу в модель?

Update_1
Я закрыл открытую VS.
Нет результата.

Update_2
Добавлен ключ к таблице.Стол начал складываться

 CREATE TABLE [dbo].[tbl_xx] (
      [Field] int  NULL,
      [id] int  NOT NULL,
      CONSTRAINT [PK__tbl_xx__3213E83FEB4094A9] PRIMARY KEY CLUSTERED ([id])
    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
    ON [PRIMARY]
    )  
    ON [PRIMARY]
    GO

    ALTER TABLE [dbo].[tbl_xx] SET (LOCK_ESCALATION = TABLE)

1 Ответ

0 голосов
/ 24 февраля 2019

Чтобы класс был сгенерирован EntityFramework, в таблице / представлении должен быть столбец первичного ключа.Вы уже узнали это.Также, если вы изучите XML-файл .edmx, вы заметите комментируемый раздел, информирующий вас о том, что EF не может идентифицировать первичный ключ для этой таблицы и, следовательно, ничего не генерирует.

При использовании EFЯ рекомендую использовать для всех таблиц столбцы IDENTITY с указанием PRIMARY KEY.

Для представлений это может быть немного сложнее, но вы все равно можете настроить XMLФайл .edmx для указания столбцов key.

Я бы также предложил явно назвать все ключи БД (первичные и внешние), а также все ограничения для будущего обслуживания и переносимости - сгенерированные имена будут отличаться на разных БДи это может привести к осложнениям позже.

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