【问题标题】:Saving the entity as a list in the associated database将实体保存为关联数据库中的列表
【发布时间】:2022-01-04 16:35:07
【问题描述】:

我有一个名为 Issue 的表,并且在该表中有一个列表类型确认表。如何访问和更改此列表中的字段?

var vIssues = await _context.Issues
    .Include(x => x.User)
    .Include(x => x.IssueConfirms)
    .FirstOrDefaultAsync(x => x.DepartmentId == departmentId && x.UserId.ToString() == vUserId);

vIssues.IssueConfirms.Select(x => new IssueConfirm
    {
        Status = Enums.Confirm.ConfirmStatus.MailGonderildiBeklemede
    })
    .ToList();
    
await _context.SaveChangesAsync();

但它没有保存我的数据库。

【问题讨论】:

  • 哪个数据库?
  • Issueconfirms 数据库,但我正在使用 await _context.savechanges
  • 您没有更改任何内容,但创建了具有一些新值的新对象。 EF 不会处理这个。
  • 如何在我选择了字段的 IssueConfirms 表中保存更改?
  • 通过foreach 迭代vIssues.IssueConfirms 并更新所需的属性。

标签: c# entity-framework entity-framework-core


【解决方案1】:

Select 将返回一个新的 IEnumerable。您没有修改数据。
Foreach 将遍历 IEnumerable 并启用修改。

例如:

vIssues.IssueConfirms.Foreach(x => x.Status = Enums.Confirm.ConfirmStatus.MailGonderildiBeklemede).ToList();

【讨论】:

  • 但它对 foreach 不起作用。因为我的 issueconfirms 列表是 ICollection 类型。当我使它成为列表类型时修复它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多