C# 重复记录数据库上的两个调用

C# 重复记录数据库上的两个调用,c#,C#,如何避免重复调用数据库。第一次我想得到重复的记录,但第二次调用我想跳过记录,但没有再次调用上下文。下面是我的代码示例: var duplicateCustomers = customerObject.Customers. Where(a => _context.Customers.Any(b => a.CustomerId == b.CustomerIdRef && customerObject.ClientId == b.ClientId)); var

如何避免重复调用数据库。第一次我想得到重复的记录,但第二次调用我想跳过记录,但没有再次调用上下文。下面是我的代码示例:

var duplicateCustomers = customerObject.Customers.
     Where(a => _context.Customers.Any(b => a.CustomerId == b.CustomerIdRef && customerObject.ClientId == b.ClientId));

var skipDuplicateCustomers = customerObject.Customers.
     Where(a => !_context.Customers.Any(b => a.CustomerId == b.CustomerIdRef && customerObject.ClientId == b.ClientId));

这些数据通过customerObject来自json。我需要检查数据库中是否存在客户,如果不存在,则需要将其保存到logger,并且它们与此cusotmerOBject不重复,需要将其添加到customers表中


我需要分离列表(重复,而不是重复),但只需调用一次数据库。

您是否尝试了
Distinct()
?在这种情况下,没有Distinct不起作用。我需要skipDuplicate,但从第一次查询的结果来看..你们能提供一些你们真正需要的上下文吗?这看起来像是一个可以用Distinct解决的问题。为什么需要使用第一次查询的结果?这些数据通过customerObject来自json。我需要检查客户是否存在于数据库中,如果不存在,则需要将其保存到logger中,并且不与此cusotmerOBject重复,需要将其添加到customers表中。看起来您将得到所有客户记录,按它们是否匹配查询进行拆分?也许接线员小组可以做你想做的事?您是否尝试了
Distinct()
?没有Distinct在这种情况下不起作用。我需要skipDuplicate,但从第一次查询的结果来看..你们能提供一些你们真正需要的上下文吗?这看起来像是一个可以用Distinct解决的问题。为什么需要使用第一次查询的结果?这些数据通过customerObject来自json。我需要检查客户是否存在于数据库中,如果不存在,则需要将其保存到logger中,并且不与此cusotmerOBject重复,需要将其添加到customers表中。看起来您将得到所有客户记录,按它们是否匹配查询进行拆分?也许接线员小组可以做你想做的事?