【问题标题】:The entity type 'List<Guid>' requires a primary key to be defined实体类型 \'List<Guid>\' 需要定义主键
【发布时间】:2022-09-27 16:17:40
【问题描述】:

实体类型 \'List\' 需要定义一个主键。如果您打算使用无密钥实体类型,请在 \'OnModelCreating\' 中调用 \'HasNoKey\'。

我已经在这里将 Id 定义为主键。但是,它仍然没有通过 Dotnet 测试用例。

[Key]
public int Id { get; set; }

public List<Guid> Books { get; set; }
  • 你试过用 \"IEnumerable<Guid>\" 而不是 \"List<Guid>\" 吗?
  • 您将Id 定义为该类的主键,EF 抱怨在Guid 类上没有定义主键来建立“外键”样式的连接。您是否有要为其构建模型的名为“Books”的表?
  • @ParasDalsaniya 那么我想你想要 public List&lt;Book&gt; Books 代替。
  • 那没关系。实体框架会为您考虑这一点。在这个类上,您只想能够访问Book 对象的列表,因此您需要创建一个List&lt;Book&gt;
  • 为什么使用List&lt;Guid&gt; 而不是List&lt;Book&gt;? ORM 的工作是允许您使用对象而不用担心它们到表和 FK 的映射

标签: c# asp.net .net .net-core


【解决方案1】:

创建一个 Book 类可以解决这个问题。然后使用List&lt;Book&gt; 而不是List&lt;Guid&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-23
    • 2021-11-27
    • 2018-08-13
    • 2019-09-13
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多