另一个'实体类型'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; }
}
}
当我去创建我的控制器时,我选择使用实体框架方法使用此实体和上下文创建它:
我收到此错误:
我唯一想到的是你是否无法在字符串属性上成功使用[Key]。如果你不能那么公平,我会解决它,但如果有人能够证实这种或那种方式,我将不胜感激。
答案 0 :(得分:16)
您需要将GMCNumber
更改为属性而不是字段。
答案 1 :(得分:12)
为了帮助澄清,这一行:
public string GMCNumber;
需要成为:
public string GMCNumber { get; set; }
答案 2 :(得分:4)
当我将该属性定义为私有时,我遇到了相同的错误消息。
答案 3 :(得分:1)
我今天面对类似的问题后遇到了这个帖子。问题是我在将[Key]属性添加到我的模型并且没有编译之后尝试创建脚手架。一旦我用[Key]属性编译,脚手架生成就好了。