![](/img/trans.png)
[英]How to update multiple records in a table Using the Linq for Entity Framework Core
[英]Proper way to update the list of records in table using entity framework
我建议您选择第二个选项,因为它是删除丢失记录而不是删除所有记录的更好方法。
集合中的“丢失”项目不被视为被删除。
因此,您需要做的是自己标记要删除的项目。 像这样的东西:
public void Update(Programme record)
{
var missingRows = dB.ProgrammeRows.Where(i => i.ProgrammeId == record.ProgrammeId)
.Except(record.Rows);
dB.ProgrammeRows.RemoveRange(missingRows);
dB.Programmes.Update(record);
dB.SaveChanges();
}
该类应如下所示:
public class ProgrammeRow
{
public int ProgrammeId { get; set; }
public string ProgrammeName { get; set; }
public int StudentId { get; set; }
public virtual Student Student{ get; set; }
}
public class Programme
{
public int ProgrammeId { get; set; }
private ICollection<ProgrammeRow> _rows;
public virtual ICollection<ProgrammeRow> Rows => _rows ?? (_rows = new List<ProgrammeRow>());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.