update child class with parent in entity framework

public void Update(UpdateParentModel model)

{

    var existingParent = _dbContext.Parents

        .Where(p => p.Id == model.Id)

        .Include(p => p.Children)

        .SingleOrDefault();


    if (existingParent != null)

    {

        // Update parent

        _dbContext.Entry(existingParent).CurrentValues.SetValues(model);


        // Delete children

        foreach (var existingChild in existingParent.Children.ToList())

        {

            if (!model.Children.Any(c => c.Id == existingChild.Id))

                _dbContext.Children.Remove(existingChild);

        }


        // Update and Insert children

        foreach (var childModel in model.Children)

        {

            var existingChild = existingParent.Children

                .Where(c => c.Id == childModel.Id)

                .SingleOrDefault();


            if (existingChild != null)

                // Update child

                _dbContext.Entry(existingChild).CurrentValues.SetValues(childModel);

            else

            {

                // Insert child

                var newChild = new Child

                {

                    Data = childModel.Data,

                    //...

                };

                existingParent.Children.Add(newChild);

            }

        }


        _dbContext.SaveChanges();

    }

}

 Nguồn:https://www.codegrepper.com/code-examples/csharp/update+child+class+with+parent+in+entity+framework

Comments

Popular posts from this blog

Sending Emails in Asp.Net Identity using Dependency Injection, Sendgrid and debugging it with Mailtrap.io

Import JSON data into SQL Server

Hướng dẫn tạo Users, OU và phân quyền quản lý OU trên Windows