Веб-API VS 2019 ASP.NET Core 3.1 EF Core 3.1
В моей базе данных SQL есть следующая структура таблицы:
Я разрешаю пользователям «редактировать» шаблон (изменять действия / группы). Когда они сохраняются, я удаляю всех дочерних элементов шаблона и повторно добавляю новых дочерних элементов (переданных в класс DTO). Код такой:
var now = DateTime.UtcNow;
var template = await _context.Template
.Include(t => t.TemplateCell)
.Include(t => t.TemplateGroup)
.ThenInclude(t => t.TemplateCell)
.Include(t => t.TemplateAction)
.ThenInclude(t => t.TemplateCell)
.FirstOrDefaultAsync(t => t.Id == dto.Id);
// Updates the templates details
template.Name = dto.Name;
template.Description = dto.Description;
template.InitialRisk = dto.InitialRisk;
template.ModifiedWhen = now;
template.ModifiedByUserId = user.Id;
// Clear the old children
template.TemplateCell
.Clear();
template.TemplateAction
.Clear();
template.TemplateGroup
.Clear();
// Add the new children
int sortOrder = 0;
foreach (var groupName in dto.GroupNames)
{
template.TemplateGroup
.Add(new TemplateGroup
{
Name = groupName,
SortOrder = sortOrder++
});
}
sortOrder = 0;
foreach (var actionName in dto.ActionNames)
{
template.TemplateAction
.Add(new TemplateAction
{
Name = actionName,
SortOrder = sortOrder++
});
}
int cellIndex = 0;
foreach (var group in template.TemplateGroup)
foreach (var action in template.TemplateAction)
template.TemplateCell
.Add(new TemplateCell
{
TemplateGroup = group,
TemplateAction = action,
IsEnabled = dto.Cells[cellIndex++]
});
await _context.SaveChangesAsync(); // Does not seem to ever return from here?
return template.Id;
Он доходит до await _context.SaveChangesAsync () и, кажется, никогда не возвращается из этого метода. SQL Profiler не показывает активности.
Может ли кто-нибудь увидеть, что может быть причиной проблемы?