Тип объекта не имеет определенного ключа

#entity-framework-4.1 #ef-code-first

#entity-framework-4.1 #ef-code-first

Вопрос:

Другой вопрос «Тип объекта «x «не имеет определенного ключа», но я установил [Key] атрибут для свойства, поэтому я немного запутался.

Вот мои классы entity и context:

 namespace DoctorDB.Models
{
    public class Doctor
    {
        [Key]
        public string GMCNumber;
        [Required]
        public string givenName;
        [Required]
        public string familyName;
        public string MDUNumber;
        public DateTime MDUExpiry;
        public string MDUCover;
    }

    public class DoctorContext : DbContext
    {
        public DbSet<Doctor> Doctors { get; set; }
    }
}
  

Когда я иду создавать свой контроллер, я решил создать его с помощью методов Entity Framework, используя этот объект и контекст:

введите описание изображения здесь

и я получаю эту ошибку:

введите описание изображения здесь

Моя единственная мысль заключается в том, не можете ли вы успешно использовать [Key] для свойства string. Если вы не можете, тогда справедливо, я обойду это, но я был бы признателен, если бы кто-нибудь мог подтвердить это тем или иным способом.

Ответ №1:

Вам нужно изменить GMCNumber на свойство, а не на поле.

Комментарии:

1. Моя модель содержит в себе свойства, а не поля. и я получаю ту же ошибку. предложения?

2. Я бы посоветовал вам задать свой собственный вопрос, опубликовав свой код и полное сообщение об ошибке.

Ответ №2:

Чтобы прояснить, эта строка:

public string GMCNumber;

необходимо стать:

public string GMCNumber { get; set; }

Ответ №3:

Я столкнулся с тем же сообщением об ошибке, когда я определил свойство как частное.

Ответ №4:

Я наткнулся на этот пост после того, как столкнулся с аналогичной проблемой сегодня. Проблема заключалась в том, что я пытался создать каркас после добавления атрибута [Key] в мою модель и без компиляции. Как только я скомпилировался с атрибутом [Key], строительные леса сгенерировались просто отлично.