我不确定如何正确表达这个问题,但这是我目前在后端开发项目中遇到的问题。
假设我有一个名为“用户”的表。我创建了一个名为 User 的模型:
public partial class User
{
public int Id { get; set; }
public string Name { get; set; }
public id JobTitleId { get; set; }
... other fields
}
用户拥有与 JobTitles 表相关的职位名称。现在的结构方式是 FE 将调用一个 api,我们称之为字典 api,它返回带有职位名称的对象列表。所以,像这样: [{id: 1, 标题: 'aa'}, {id: 2, 标题: 'bb'} ...] 因此,根据可用的 jobtitleid,将调用此 api,并且 View 将根据 id 显示标题。
现在,我觉得这并不是很有效,因为如果我们有一百或一千个职位,FE 将必须解析每个对象以匹配 id。
有没有更好的方法来显示给定 ID 的职位名称?我无法直接返回职位名称,因为如果用户的职位名称未更新,但带有职位名称的特定表单是通过 PUT 请求发送的,则它将返回职位名称而不是 ID 回用户表。
此外,职位名称将是前端的自动完成字段,当用户输入职位名称时,该字段将调用后端的 api,从而在用户输入职位名称时将该职位的 ID 返回到后端更新了新的职位名称。
抱歉,如果我不够清楚,如果需要,我可以提供更多详细信息。
最佳答案
你尝试过做这样的事情吗? 我假设 JobTitleId 属于 JobTitles 类
public partial class User
{
public int Id { get; set; }
public string Name { get; set; }
public id JobTitleId { get; set; }
[ForeignKey("JobTitleId")]
public JobTitles JobTitles{ get; set; }
}
因此,正如您所知,类是引用对象,当您将 User 类传递到 View 时,当您从下拉列表中更改用户标题时,它也会相应地更改 jobtitleId
关于c# - Entity Framework - 根据另一个表中的 ID 获取实体名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60665077/