EF Core获取记录,其中两个属性与列表中的一对属性匹配

问题描述

我有一个Foo列表,其中Foo是:

public class Foo
{
  public string Id { get; set; }
  public string Name { get; set; }
}

数据库实体栏:

public partial class Bar
{
  public string Id { get; set; }
  public string Name { get; set; }
  public int Count { get; set; }
  etc...
}

我想获得ID和名称与列表中的Foo匹配的条形图。像这样:

var records = databaseContext.Bar
  .Where(r => FooList.Contains(*a Foo with Id and Name matching r.Id and r.Name*))
  .ToArray()

我怎样才能有效而干净地获得这些记录?

解决方法

您可以尝试使用Any方法:

var records = databaseContext.Bar
  .Where(r => FooList.Any(item => item.Id == r.Id && item.Name == r.Name))
  .ToArray();