我在下面创建了一些基本示例代码。我正在使用实体框架。我有一个Parent对象,它有一个Children集合。我最初成立了三个孩子。当我更新孩子时,我正在删除一个(John)并添加一个(Sarah),另外两个(Mary& Anne)保持不变。考虑到背后的数据库,有没有办法轻松做到这一点?
public class test
{
public test()
{
Parent father = new Parent();
father.Children.Add(new Child() { FirstName = "Mary" });
father.Children.Add(new Child() { FirstName = "Anne" });
father.Children.Add(new Child() { FirstName = "John" });
SaveEntityFramework();
}
public void UpdateChildren
{
Parent father = EntityFramework.GetParentByID(1);
// Remove John
father.Children.Remove(new Child() { FirstName = "John" });
// Add Sarah
father.Children.Add(new Child() { FirstName = "Sarah" });
// Update or do Nothing Mary & Anne
SaveEntityFramework();
}
}
public class Parent
{
public string Name { get; set; }
public List<Child> Children;
}
public class Child
{
public string FirstName { get; set; }
}
答案 0 :(得分:0)
您是否将父亲添加到您的EntityFramework上下文中?你只是创建它,添加3个孩子,然后保存!
public test()
{
Parent father = new Perent();
EntityFramework.Parents.Add(father);
// Add children
SaveEntityFramework();
}
此外,请确保在EntityFramework.GetParentByID(1);
找到您正在寻找的Parent
时获得的结果。
希望这会有所帮助;)