新聞中心
本文主要闡述linq to sql多表關(guān)聯(lián)與動(dòng)態(tài)條件查詢,雖然好多人對(duì)linq很不熟悉,但是本文作者簡(jiǎn)言較簡(jiǎn)單,還是很容易理解的。

創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。
在去年的有接觸過linq,也小試了一刀.但僅僅是簡(jiǎn)單的from并沒有深入去揣摩.這次正好用MVC開發(fā)這套系統(tǒng).所以使用linq 是必須的.
之前我也有說過linq的編寫方式看起來很拉風(fēng),但他并不是很么的***,有利肯定有弊.要不microsoft推出linq這么長(zhǎng)時(shí)間了.也沒見市場(chǎng)上很熱門.至今在我看來.用的人還是很少.這次在開發(fā)的過程中.最讓我抓狂的就是linq to sql多表關(guān)聯(lián)與動(dòng)態(tài)條件查詢.
雖然網(wǎng)上有很多資料是linq to sql多表關(guān)系當(dāng)然也有動(dòng)態(tài)條件查詢的.但是并沒有找到我想要的答案.與是只能靠自己摸索了.下面就是我要實(shí)現(xiàn)的結(jié)果,linq to sql多表關(guān)聯(lián).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多表動(dòng)態(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多表,如果你要根據(jù)條件不同顯示相應(yīng)的數(shù)據(jù)的話,只要在q對(duì)像后追加Where()就OK:
- int Record__count = q.Count(); //得到記錄數(shù)
- 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);
以上就是對(duì)linq to sql多表的詳細(xì)闡述。
名稱欄目:linqtosql多表基礎(chǔ)描述
路徑分享:http://fisionsoft.com.cn/article/ccsdgdo.html


咨詢
建站咨詢
