Задать вопрос
  • Как внести данные в коллекцию через EF CORE и избежать дублирования при Update?

    @Alpendev2876 Автор вопроса
    Andrei SunnyPh, У меня есть примерно рабочий вариант, но проблема в задвоении полученной задачи, сохраняет и в общую коллекцию объектов Do и в Subtasks

    [HttpPost]
            public IActionResult AddSubTask(
                [Bind("Id,Title,Description,Executors,Plan")] DoCreateSubTaskViewModel model
                )
            {
    
                if (ModelState.IsValid)
                {
                    var terminalDo = _modelService.GetById(model.Id).Result;
    
                    if(terminalDo == null)
                    {
                        throw new NullReferenceException(message: "wrong AddSubTask");
                    }
    
                    var newSubTask = new DoDTO
                    {
                        Title = model.Title,
                        Description = model.Description,
                        Executors = model.Executors,
                        Plan = model.Plan
                    };
    
                    var doDTOSubtasksToAdd = _mapper.Map<Do>(newSubTask);
    
    
                    //TODO: Проверить поэтапно
                    var x = _modelService.CreateSubTask(doDTOSubtasksToAdd).Result;
    
                    doDTOSubtasksToAdd = _modelService.GetById(x).Result;
    
                    terminalDo.SubTasks.Add(doDTOSubtasksToAdd);
    
                    _modelService.Update(terminalDo);
                }
    
                return RedirectToAction("TestView");
            }


    Файл добавления (думаю задвоение происходит тут)

    public async Task<int> CreateSubTask(Do entity)
            {
                try
                {
                    var newDo = new Do
                    {
                        Title = entity.Title,
                        Description = entity.Description,
                        Executors = entity.Executors,
                        Status = entity.Status,
                        Plan = entity.Plan
                    };
    
                    await _database.Does.Create(newDo);
                    _database.Save();
    
                    return newDo.Id;
                }
                catch(Exception ex)
                {
                    throw new NullReferenceException($"{ex.Message}");
                }
            }


    Только не понимаю пока как поправить
  • Как внести данные в коллекцию через EF CORE и избежать дублирования при Update?

    @Alpendev2876 Автор вопроса
    Andrei SunnyPh, как правильно управлять элементами из SubTasks (добавлять удалять). Есть коллекция типа Do в каждой из которых своя коллекция Subtasks и нужно добавлять и удалять оттуда элементы. Проблема еще в том, что нужно это обновлять, чтобы при добавлении Subtasks обновлялось количество в родителе то есть Do элементе
  • Убрать редирект типа HSTS redirect?

    @Alpendev2876 Автор вопроса
    Это исходный документ, который мной не редактировался, сам сижу в шоке от того что увидел. Не понимаю как составить корректный вариант