0

Все, что я нашел через Google, относится к Code First, поэтому мне интересно, что на самом деле делает атрибут Key в отношении дизайна базы данных First? Мне в основном интересно, потому что многие объекты содержат составные клавиши, поэтому я добавляю аннотацию Key к соответствующим свойствам, но это действительно необходимо? И если да, то что я получу от этого?Что делает аннотация «Key` Data» в базе данных?

ответ

2

Если вы используете первый рабочий процесс базы данных (т. Е. В вашем решении есть .edmx-файл). Тогда атрибут Key не будет иметь никакого эффекта.

Однако, если вы используете первый рабочий процесс кода для сопоставления с существующей базой данных, атрибут Key сначала сообщает коду, что это свойство является частью первичного ключа сущности.

Для получения дополнительной информации о различных рабочих процессах просмотр видео: Visual Studio Toolbox: Entity Framework Part 1

+0

Спасибо! Мне было любопытно, если бы он предоставлял какие-либо проверки ошибок/ограничений, но он действительно выглядит только для рабочего процесса Code First. – MisterIsaak

+1

Хотя атрибут Key не имеет эффекта, атрибуты, которые наследуются от 'ValidationAttribute' (например,' Required' и 'StringLength'), проверяются на' SaveChanges() '(для всех рабочих процессов). – bricelam