Hai thực thể là mối quan hệ một-nhiều (được xây dựng bằng mã api lưu loát đầu tiên).
public class Parent
{
public Parent()
{
this.Children = new List<Child>();
}
public int Id { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
public string Data { get; set; }
}
Trong bộ điều khiển WebApi của tôi, tôi có các hành động để tạo một thực thể mẹ (đang hoạt động tốt) và cập nhật một thực thể cha mẹ (có một số vấn đề). Hành động cập nhật trông như sau:
public void Update(UpdateParentModel model)
{
//what should be done here?
}
Hiện tại tôi có hai ý tưởng:
Nhận một thực thể cha được theo dõi được đặt tên
existing
theomodel.Id
và gán các giá trịmodel
từng cái một cho thực thể. Điều này nghe có vẻ ngu ngốc. Và trongmodel.Children
tôi không biết đứa trẻ nào mới, đứa trẻ nào được sửa đổi (hoặc thậm chí bị xóa).Tạo một thực thể cha mẹ mới thông qua
model
và đính kèm nó vào DbContext và lưu nó. Nhưng làm thế nào để DbContext có thể biết trạng thái của trẻ em (thêm / xóa / sửa đổi mới)?
Cách chính xác để thực hiện tính năng này là gì?