entity-framework - 使用 ASP.NET Core 3.1 和 Entity Framework 进行初始迁移时,出现错误“实体类型 'X' 需要定义主键”
问题描述
使用 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
as 键-对吗?
[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
匹配第二个模式以获得自动识别的主键属性。
推荐阅读
- javascript - 如何制作持久 PWA 缓存?
- python - 如何安装特定版本的 H2O
- regex - Extract text only from the first square brackets
- python - 获取 N 叉树中较大祖先的数量
- css - 如何在此元素中弹出过滤器 css 属性以使背景保持白色?
- python - Python:变量不变
- node.js - 从两个不同的文件夹上传到heroku
- angularjs - 如何检索oracle sql查询的进度?
- docker - 无法从 windows-ubuntu 执行 sudo docker pull ubuntu
- mongodb - 通过 Get 从 mongodb 嵌套 JSON 输出