Все, что я нашел через Google, относится к Code First, поэтому мне интересно, что на самом деле делает атрибут Key
в отношении дизайна базы данных First? Мне в основном интересно, потому что многие объекты содержат составные клавиши, поэтому я добавляю аннотацию Key
к соответствующим свойствам, но это действительно необходимо? И если да, то что я получу от этого?Что делает аннотация «Key` Data» в базе данных?
0
A
ответ
2
Если вы используете первый рабочий процесс базы данных (т. Е. В вашем решении есть .edmx-файл). Тогда атрибут Key
не будет иметь никакого эффекта.
Однако, если вы используете первый рабочий процесс кода для сопоставления с существующей базой данных, атрибут Key
сначала сообщает коду, что это свойство является частью первичного ключа сущности.
Для получения дополнительной информации о различных рабочих процессах просмотр видео: Visual Studio Toolbox: Entity Framework Part 1
Спасибо! Мне было любопытно, если бы он предоставлял какие-либо проверки ошибок/ограничений, но он действительно выглядит только для рабочего процесса Code First. – MisterIsaak
Хотя атрибут Key не имеет эффекта, атрибуты, которые наследуются от 'ValidationAttribute' (например,' Required' и 'StringLength'), проверяются на' SaveChanges() '(для всех рабочих процессов). – bricelam