我一直在为这段代码苦苦挣扎,我对此很陌生,所以请耐心等待。
以下代码非常适合在名为Blog的一个表中进行搜索。但是我还有3个表,看起来像这样:
--[FE]
----- [Blog]
----- [Bolted_steltanks]
----- [Mixers]
----- [Windpower]
我希望我的代码能够搜索所有4个表,现在它只搜索1个表。下面是我的代码的一部分:
var q = from p in dbBlog.Blog.ToList()
//join w in dbAlbum.Windpower on p.Description equals w.Description
where
Data.Any(x => p.Description.IndexOf(x) >= 0) ||
Data.Any(x => p.Date.IndexOf(x) >= 0)
orderby p.id descending
select p;
return View("Found", q.ToList());
另一个小问题是接收结果的视图。我不确定如何创建模型,使用此代码可以很好地使用一个表:
@model IEnumerable<FE.Blog>
非常感谢任何帮助。
答案 0 :(得分:1)
您可以像下面一样使用linq加入多个表格。
from t1 in Table1
join t2 in Table2 on t2.Id equals t1.Id //OR matching field
join t3 in Table3 on t3.Id equals t1.t3Id //OR matching field
where t1.ConditionColumn == value // OR all your where clause to come here
select new { col1 = t1.col1, col2 = t1.col2, col3 = t1.col3, col4 = t2.col1, col5 = t3.col1 }; //OR all your select to come here
等
我认为不需要@model IEnumerable<FE.Blog>
。 /这样的多表声明