我有一对多的关系...我在Web环境(断开连接的环境)中工作。假设用户只想更新父实体,而不必加载所有子实体,这可能吗?
这是代码:
public class Parent
{
public int Id { get; set; }
public string Description { get; set; }
public ICollection<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
public Parent Parent { get; set; }
public string Data { get; set; }
}
我想更新id = 5的Parent
的描述,新的描述来自用户:
Parent parent = new Parent()
{
Id = 5, // I already know the user Id
Description = "new description from User";
Children = null; // I don't want the children to be changed
}
dbContext.Parent.Attach(parent);
dbContext.Entry(parent).State = EntityState.Modified;
dbContext.SaveChanges();
我不确定这是否合适?是否会删除现有的Children
(因为子级列表为空)?
可能吗?
是],您做得对。
根据您的样品
dbContext.Parent.Attach(parent); dbContext.Entry(parent).State = EntityState.Modified; dbContext.SaveChanges();
仅对
parent
表有效。