使用 ASP.NET Core 3.1 和实体框架进行初始迁移时,出现错误"The entity type 'X' requires a primary key to be defined"



当使用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将与第二种模式匹配,以获得自动识别的主键属性。

相关内容

  • 没有找到相关文章

最新更新