新聞中心
這里有您想知道的互聯網營銷解決方案
linqtosql多表基礎描述
本文主要闡述linq to sql多表關聯與動態(tài)條件查詢,雖然好多人對linq很不熟悉,但是本文作者簡言較簡單,還是很容易理解的。

創(chuàng)新互聯專注于網站建設,為客戶提供網站建設、成都做網站、網頁設計開發(fā)服務,多年建網站服務經驗,各類網站都可以開發(fā),品牌網站制作,公司官網,公司展示網站,網站設計,建網站費用,建網站多少錢,價格優(yōu)惠,收費合理。
在去年的有接觸過linq,也小試了一刀.但僅僅是簡單的from并沒有深入去揣摩.這次正好用MVC開發(fā)這套系統.所以使用linq 是必須的.
之前我也有說過linq的編寫方式看起來很拉風,但他并不是很么的***,有利肯定有弊.要不microsoft推出linq這么長時間了.也沒見市場上很熱門.至今在我看來.用的人還是很少.這次在開發(fā)的過程中.最讓我抓狂的就是linq to sql多表關聯與動態(tài)條件查詢.
雖然網上有很多資料是linq to sql多表關系當然也有動態(tài)條件查詢的.但是并沒有找到我想要的答案.與是只能靠自己摸索了.下面就是我要實現的結果,linq to sql多表關聯.INNER JOIN + LEFT JOIN
- var q =
- (from ar in db.Articles
- join c in db.Categories on ar.ParentId
- equals c.Id
- join sc in db.Categories on ar.SubId equals sc.Id into scate
- from sc in scate.DefaultIfEmpty()
- where ar.IsPrivate == false
- orderby ar.CreateTime descending
- __select new
- {
- ararticle = ar,
- pcate = c,
- scscate = sc
- }).Take(3);
linq to sql多表動態(tài)條件查詢:
- Expression> lambda = ar => (1==1);
- if (id != null)
- lambda = (ar => ar.Id == id);
- var article = db.Articles.OrderByDescending
- (a => a.CreateTime).Where(lambda);
- return View(article);
linq to sql多表,如果你要根據條件不同顯示相應的數據的話,只要在q對像后追加Where()就OK:
- int Record__count = q.Count(); //得到記錄數
- int page = PagerHelper.GetCurrentPage();
- int SkipIndex = (page-1)__ * 5;
- var q = (from ar in db.Articles
- join c in db.Categories on ar.ParentId
- equals c.Id
- join sc in db.Categories on ar.SubId equals sc.Id into scate
- from sc in scate.DefaultIfEmpty()
- where ar.IsPrivate == false
- orderby ar.CreateTime descending
- __select new
- {
- ararticle = ar,
- pcate = c,
- scscate = sc
- });.Skip(SkipIndex).Take(5);
以上就是對linq to sql多表的詳細闡述。
網頁標題:linqtosql多表基礎描述
網頁URL:http://www.5511xx.com/article/ccsdgdo.html


咨詢
建站咨詢
