Что происходит с приложением ASP.NET и классами модели EF при последующем добавлении индекса первичного / уникального ключа в таблицу? - PullRequest
0 голосов
/ 19 февраля 2019

Мое старое приложение использует Entity Framework.В настоящее время ни одна из таблиц не имеет первичного или уникального индекса.

Что произойдет, если я сейчас создам первичный индекс для таблицы базы данных?Будет ли сбой приложения или изменение модели?

1 Ответ

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

Это отчасти зависит от того, насколько точно вы используете модели в своем коде, и устанавливали ли вы какие-либо ручные соединения между таблицами внутри вашего приложения, изменяя созданные EF модели.Также, если вы внесли ЛЮБЫЕ изменения в модели классов, они будут перезаписаны при обновлении EF.

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

Пример:

CREATE TABLE Teacher (
    TeacherID int NOT NULL PRIMARY KEY,
    FirstName varchar(255) NOT NULL,
    LastName varchar(255) NOT NULL
);

CREATE TABLE SchoolClass (
    ClassID int NOT NULL PRIMARY KEY,
    TeacherID int NOT NULL FOREIGN KEY REFERENCES Teacher(TeacherID),
    ClassSubject varchar(20) NOT NULL
);

Очевидно, что если вы обновляете существующую таблицу, как вы сказали, вам нужно будет использоватьсинтаксис ALTER TABLE вместо CREATE.Это просто пример, чтобы попытаться показать отношения между таблицами с первичным и внешним ключами.

Не забудьте обновить EF на стороне приложения после изменения базы данных.

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