实体类型没有定义键

Phi*_*ove 14 ef-code-first entity-framework-4.1

另一个'实体类型'x'没有键定义'问题,但我已经在[Key]属性上设置了属性,所以我有点困惑.

这是我的实体和上下文类:

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; }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我去创建我的控制器时,我选择使用实体框架方法使用此实体和上下文创建它:

在此输入图像描述

我收到此错误:

在此输入图像描述

我唯一想到的是你是否无法在字符串属性上成功使用[Key].如果你不能那么公平,我会解决它,但如果有人能够确认这种或那种方式,我将不胜感激.

cod*_*ger 16

您需要更改GMCNumber为属性而不是字段.


小智 12

为了帮助澄清,这一行:

public string GMCNumber;

需要成为:

public string GMCNumber { get; set; }


Juh*_*äki 5

当我将属性定义为私有时,我遇到了相同的错误消息。