当使用ASP.NET Core 3.1和Entity Framework进行初始迁移时,我得到一个错误"实体类型"X"需要定义一个主键;。
public class Command
{
[Key]
private int _id;
public int CommandId { get { return _id; } set { _id = value; } }
public string HowTo { get; set; }
public string Line { get; set; }
public string Platform { get; set; }
}
我只是猜测-但我认为您想使用CommandId
作为密钥-对吗??
如果是这样,那么您需要使用=[Key]
注释来装饰该属性,如下所示:
public class Command
{
private int _id;
[Key]
public int CommandId { get { return _id; } set { _id = value; } }
public string HowTo { get; set; }
public string Line { get; set; }
public string Platform { get; set; }
}
或者只需关闭该注释——一个名为Id
或(EntityName)Id
的属性将自动用作主键——而CommandId
将与第二种模式匹配,以获得自动识别的主键属性。