EF Linq:更新数组中ID为的相关表List

本文关键字:List ID Linq 更新 数组 EF | 更新日期: 2023-09-27 18:21:30

我有一个包含int值的数组,它表示ID

我有一个实体(用EF生成),它具有表示相关表(1到n)的集合属性

我需要用数组中的值更新此集合

当然,我可以先打一个,然后再打第二个,但我相信林克有更好的方法吗?

感谢

EF Linq:更新数组中ID为的相关表List

据我所知,EF中没有"一步"更新命令。首先你必须选择你的项目,然后更改它的值,然后保存它。2 db往返(选择并保存)。

但是,如果您的ID列是主键或唯一的,那么对于每个项目,创建新的db对象,设置ID值并附加它(使用附加方法),更改值并保存它。1 db往返(只保存)。为了提高性能,我更喜欢这个。

另一方面,有两个用于一步更新命令的开源库。但它们只支持Ms SQL Server。我记不起图书馆的名字了。

附件示例:

using (DataEntities context = new DataEntities())
{
    foreach (int ID in IDList)
    {
        TableName item = new TableName();
        item.ID = ID;
        context.TableName.Attach(item);
        item.IsDeleted = true; //Change a filed's value
    }
    context.SaveChanges();
}
相关文章: