我是.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();
我需要使用我的SearchString在db.FocusArea中的Area和Description中搜索匹配。
我还需要使用我的SearchString在列SFocusArea的另一个表db.SpecificFocusAreas中搜索匹配(包含),其中连接再次是ID / MemberID。
有没有办法基本上做一个连接或连接类型的语句?我不想加入所有三个表,因为我正在寻找两个连接中的任何一个的结果,而不是来自所有连接。