开发者

Entity Type Has No Key Defined

Another 'Entity Type 'x' has no key defined' question, but I've set the [Key] attribute on a property so I'm a bit confused.

Here's my entity and context classes:

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; }
    }
}

When I go to create my controller, I've selected to create it with the Entity Framework methods using this entity and context:

Entity Type Has No Key Defined

and I get this error:

Entity Type Has No Key Defined

My only thought is whether you can't successfully use [Key] on a string property. If you can't then fair enough, I'll work round it, but I'd be grateful if someone could confirm this one way or the o开发者_如何学运维ther.


You need to change GMCNumber to a property not a field.


To help clarify, this line:

public string GMCNumber;

needs to become:

public string GMCNumber { get; set; }


I encountered the same error message when I had defined the property as private.


I ran into this post after facing a similar issue today. The problem was that I was attempting to create the scaffold after adding the [Key] attribute to my model and without compiling. Once I compiled with the [Key] attribute the scaffolding generated just fine.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜