1
元素添加到其他现有实体
让我们这样的场景:使用实体框架
- 我想添加一个任务到项目。
- 该项目已经存在。
- 任务将作为新实体添加并附加到项目中。
- 一个项目可以有一个或多个任务。
这是我做的,现在我的仓库方式:
public void AddTaskToProject(Project ProjectToUpdate,Task TaskToAdd)
{
using (var context = new myContext())
{
var project= context.Projects.First(x => x.Id == projectToUpdate.Id);
project.Tasks.Add(taskToAdd);
context.Tasks.Add(taskToAdd);
SaveContextChange(context);
}
}
是否有任何其他的方式,以避免像我一样到数据库尽可能多的电话吗?
对我来说,理想的是更新项目,然后只调用项目实体的更新?有没有办法做到这一点 ?
这是一般的更新我:
public virtual void Update(params T[] items)
{
using (var context = new MyContext())
{
foreach (T item in items)
{
context.Entry(item).State =EntityState.Modified;
}
context.SaveChanges();
}
}