#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], строительные леса сгенерировались просто отлично.