MVC удаляет дочернюю сущность из исходной записи - PullRequest
0 голосов
/ 30 апреля 2019
I am trying to copy child entities from a source record and replace child entity in another record.

I tried initializing new list with source record. I dont know if I am using removerange at wrong place.

if (routValue=="merge"&& selectProject1Tests!=null&& selectProject2Tests!=null)
            {
                if(selectProject1Tests.Length==1)
                {
                    // project 1 test id
                    int project1TestId = Convert.ToInt32(selectProject1Tests[0]);
                    // Get test from project 1
                    ProjectTest project1Test = db.ProjectTests.Where(a => a.ProjectTestID == project1TestId).FirstOrDefault();

                    // Loop through project 2 selected test and replace test steps
                    foreach(String project2TestIdStr in selectProject2Tests)
                    {
                        // Current project2 test id
                        int curProject2TestId = Convert.ToInt32(project2TestIdStr);
                        // Get current project2 Test
                        ProjectTest curProject2Test = db.ProjectTests.Where(a => a.ProjectTestID == curProject2TestId).FirstOrDefault();
                        // Remove test steps from this test
                        db.ProjectTestSteps.RemoveRange(curProject2Test.ProjectTestSteps);
                        // Add test steps from project 1 test
                        curProject2Test.ProjectTestSteps = new List<ProjectTestStep>(project1Test.ProjectTestSteps);
                        //foreach (ProjectTestStep pts in project1Test.ProjectTestSteps)
                        //{
                        //    curProject2Test.ProjectTestSteps.Add(pts);
                        //}
                    }
                    db.SaveChanges();

Не следует удалять дочерние объекты ProjectTestSteps из исходной записи project1Test. он должен скопировать дочерние сущности ProjectTestSteps из исходной записи project1Test и заменить дочерние сущности ProjectTestSteps другой записи curProject2Test, где я пытаюсь скопировать дочерние сущности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...