C# .NET SQL查询连接两个不同的表

C# .NET SQL查询连接两个不同的表,c#,.net,sql-server,join,C#,.net,Sql Server,Join,我是.NETMVC的新手,虽然我有一些编写SQL查询的基本经验,但我不知道如何为.net做些什么 我的初始查询如下所示: var results = (from s in db.Members join sa in db.FocusArea on s.ID equals sa.MemberID where sa.Area == SearchString select new { s.ID, s.Nam

我是.NETMVC的新手,虽然我有一些编写SQL查询的基本经验,但我不知道如何为.net做些什么

我的初始查询如下所示:

var results = (from s in db.Members 
               join sa in db.FocusArea on s.ID equals sa.MemberID 
               where sa.Area == SearchString 
               select new { s.ID, s.Name, s.Overview }).ToList();
这不能正常工作。出于某种原因,它在《美国概览》中搜索。我需要把这个问题弄得更复杂。简而言之,我需要搜索三个表。对于此查询,它不起作用:

var conceptResults = (from s in db.Cohorts 
                      join oa in db.OutcomeArea on s.ID equals oa.CohortID 
                      where ((oa.Area.Contains(SearchString)) 
                         || (oa.OutcomeType.Contains(SearchString))) 
                      select new { s.ID, s.Name, s.Overview }).ToList();
  • 我需要使用SearchString在db.focusrea中搜索区域和描述中的匹配项

  • 我还需要使用我的SearchString在另一个表db.SpecificFocusAreas中搜索SFocusArea列的匹配项(包含),其中连接也是ID/MemberID


  • 有没有一种方法可以基本上执行join或join类型的语句?我不想联接所有三个表,因为我正在查找两个联接中的任何一个的结果,而不是所有联接的结果。

    您使用的是什么ORM?这取决于您是使用实体框架还是纯ADO。我使用的是实体框架。