.NET SQL Query连接两个不同的表

时间:2017-03-28 13:46:55

标签: c# .net sql-server join

我是.net MVC的新手,虽然我有一些编写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();

这不能正常运作。由于某种原因,它正在s.Overview中进行搜索。而且,我需要使这个查询更加复杂。简而言之,我需要搜索三个表。使用此查询,它无法正常工作:

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();
  1. 我需要使用我的SearchString在db.FocusArea中的Area和Description中搜索匹配。

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

  3. 有没有办法基本上做一个连接或连接类型的语句?我不想加入所有三个表,因为我正在寻找两个连接中的任何一个的结果,而不是来自所有连接。

0 个答案:

没有答案