gpt4 book ai didi

c# - Entity Framework 检查插入前是否存在多条记录

转载 作者:行者123 更新时间:2023-11-30 13:44:58 25 4
gpt4 key购买 nike

我正在尝试找出插入多条记录(超过 200 条)的最佳方法(如果它们不存在),而无需为每条记录进行一次旅行以检查它是否存在,我这样做是这样的:

foreach (var node in nodes)
{
if (!context.Nodes.Any(x => x.Name == node.Name))
{
context.Nodes.Add(new NWatchNode(node));
}

try
{
if (context.Nodes.Local.Any())
{
context.SaveChanges();
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}

执行此操作的最佳方法是什么?

最佳答案

假设 node.Name 在数据库的表中是唯一的,您可以做这样的事情将您的节点列表缩小到不存在的节点:

var missingRecords = nodes.Where(x => !context.Nodes.Any(z => z.Name == x.Name)).ToList();

然后用类似的东西插入缺失的记录:

context.Nodes.AddRange(missingRecords);

关于c# - Entity Framework 检查插入前是否存在多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33376785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com