C# Linq在两个字段中包含查询

C# Linq在两个字段中包含查询,c#,entity-framework,linq,C#,Entity Framework,Linq,我想通过学生实体上的EntityFramework查询包含多个数据的两个字段。我希望所有的学生的名字和家庭存在于一起。我排除了记录9和6返回一个查询的结果。如何进行此操作 数据库中的数据为: Id Name Family ------------------------------- 1 John Cooper 2 Lee Chang 3 Morgan Freema

我想通过学生实体上的EntityFramework查询包含多个数据的两个字段。我希望所有的学生的名字和家庭存在于一起。我排除了记录9和6返回一个查询的结果。如何进行此操作

数据库中的数据为:

Id           Name       Family
-------------------------------
1            John       Cooper
2            Lee        Chang
3            Morgan     Freeman
4            Luis       Enrique
5            Jack       Anderson
6            Adam       Freeman
7            Bill       Gates
8            David      Beckham
9            Luis       Figo
过滤器是:

var filters = new List<NameFamily>
{
    new NameFamily{Name = "Adam", Family = "Freeman"},
    new NameFamily{Name = "Luis", Family = "Figo"},
};

这就是你要找的吗

var studentList = new List<Student>();
foreach (var filter in filters)
{
   var student = _dbContext.Set<Student>.where(x => x.Name == filter.Name && x.family == filter.family);
   if (student != null)
   {
       studentList.Add(student);
   }
}
var studentList=newlist();
foreach(过滤器中的var过滤器)
{
var student=_dbContext.Set.where(x=>x.Name==filter.Name&&x.family==filter.family);
如果(学生!=null)
{
学生列表。添加(学生);
}
}
您可以试试

将NameFamily中的属性添加到NameFamily

公共字符串NameFamily获取{return Name+Family}

您的lonq查询将是

Var result=db.students.where(e=>filters.select(m=>m.NameFamily)。包含(e.name+e.family)


请忽略语法,因为我是通过手机回答的。

这并没有解决学生将使用EF从DB中提取的问题,并且筛选器列表不包含实体。
var studentList = new List<Student>();
foreach (var filter in filters)
{
   var student = _dbContext.Set<Student>.where(x => x.Name == filter.Name && x.family == filter.family);
   if (student != null)
   {
       studentList.Add(student);
   }
}