如何在asp.net核心中添加数据并从其他表中删除相同的数据?

问题描述 投票:0回答:1

我正在尝试从TestResult表中添加的现有表PendingTestResult中删除同一行。但它不能正常工作,请帮我解决此问题

这是控制器

 [HttpPost]
    [Route("Reception/PatientTests/SaveTestResult")]
    public async Task<IActionResult> SaveTestResult(List<TestResult> testResults)
    {
        if (ModelState.IsValid)
        {
            foreach (TestResult tr in testResults)
            {
                _db.Add(tr);
                await _db.SaveChangesAsync();
                var TestResultId = new PendingTestResult { Id = tr.Id };
                _db.Remove<PendingTestResult>(TestResultId);
                await _db.SaveChangesAsync();
            }

            // return new JsonResult("Index");
        }

        return new JsonResult(testResults); ;
    }

这里我想从TestResult表中新添加的PendingTestResult表中删除相同的行。

asp.net-core entity-framework-core asp.net-core-2.0
1个回答
0
投票

请确保要删除的数据在表中可用。建议不要使用Find方法,而不是创建一个新对象。假设_db是DbContext的对象。

 _db.Add(tr);
 _db.PendingTestResults.Remove(_db.PendingTestResults.Find(tr.Id));
  await _db.SaveChangesAsync();

请更改DbSet属性名称。如果要调试代码,请使用sql server profiler。

© www.soinside.com 2019 - 2024. All rights reserved.