从列表视图模型更新服务中的多个 Table 行?

Update Multiple Table Rows in Service from a list viewmodel?

我有一个视图模型,其值作为列表从视图发送以编辑四个输入框...

public class UpdatePollViewModel
{
    public List<string> Answer { get; set; }
}

在我的服务中,我通过Id从数据库中得到了相同的值:

public bool UpdatePoll(Guid id, UpdatePollViewModel viewModel)
{
    var polloption = _context.PollOptions.Where(p => p.PollId == Id).ToList();
}

我用过这个但是没有意义因为它重复了很多!!!

 foreach (string item in viewModel.Answer)
 {
    foreach (var item2 in polloption)
    {
        item2.Answer = item;
        _context.SaveChanges();
    }
 }

处理此问题的最佳方法是什么?

我假设幻数是 4。

有 4 个输入框用于使用 4 个答案填充视图模型列表,其顺序与从数据库中检索到的现有 4 个答案相同,您希望将 4 个输入映射到 4 个记录数据库。

var polloption = _context.PollOptions.Where(p => p.PollId == Id).ToList();

for (int i = 1; i <= 4; i++)
{
    polloption[i-1].Answer = viewModel.Answer[i-1];
}

_context.SaveChanges();