猿问

实体框架核心读取和更新多行 - 复合主键

我有一个这样的表结构:


ID Code  Value

1  2     text1

2  3     text3

2  4     text4

这里 ID 和代码构成了复合主键,即在上表中,您不能有 ID = 2 和代码 = 4 的另一行。


现在我们正在使用实体框架核心,我有一个名为 Branch(代表复合键)的类,它看起来像这样:


public class Branch

{

 public int ID {get; set;}

 public int Code {get; set;}

}

其次我也有List<Branch>。现在我想做两件事:


首先进行一次数据库调用并获取整个 Branch 列表的完整对象(ID、代码、值)。


之后,我将更改每个对象的“值”。


然后我想进行一次数据库调用并为每一行保存更新的“值”。


目前我正在循环执行此操作,因此效率低下。


foreach(var x in listOfBranch)

{

  var record = context.Table.Find(x.ID, x.Code);

  record.Value = "new value";

  context.SaveChanges();

}

我们如何在一次通话中做到这一点?谢谢。


慕标琳琳
浏览 124回答 1
1回答
随时随地看视频慕课网APP
我要回答