向实体框架模型添加键以满足需要键?

Posted

技术标签:

【中文标题】向实体框架模型添加键以满足需要键?【英文标题】:Add Key to Entity Framework model to satisfy need keys? 【发布时间】:2020-02-12 11:48:36 【问题描述】:

我正在尝试使用 NetCore Entity Framework 构建一个新的 API 控制器。但是,我收到此错误:“无法添加,因为它针对 keless 实体类型 RobotResponses”

在数据库中,RobotResponses 是一个没有主键的表。但它有两个名为 SessionId 和 HumanId 的列,它们都是外键,并且具有如下索引: uq_RobotResponses_sessionId_humanId

现在,在我的代码中,我应该像这样设置两个属性键吗?

[Key]   
public long SessionId  get; set; 
[Key]
public long HumanId  get; set; 

谢谢!

【问题讨论】:

【参考方案1】:

您正在寻找的是一种叫做复合键的东西。您可以像这样在 fluent api 中配置它: https://www.learnentityframeworkcore.com/configuration/fluent-api/haskey-method

【讨论】:

以上是关于向实体框架模型添加键以满足需要键?的主要内容,如果未能解决你的问题,请参考以下文章

向核心数据实体添加瞬态属性是不是需要新版本模型?

如何在现有远程数据库中添加表并将其链接到实体框架模型?

自动检索实体框架外键关系模型

实体框架模型优先:以编程方式创建 UNIQUE 约束

向实体框架生成的实体添加文档

使用实体框架添加唯一数据