日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
linqtosql多表基礎(chǔ)描述

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

創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗,各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。

在去年的有接觸過linq,也小試了一刀.但僅僅是簡單的from并沒有深入去揣摩.這次正好用MVC開發(fā)這套系統(tǒng).所以使用linq 是必須的.

之前我也有說過linq的編寫方式看起來很拉風(fēng),但他并不是很么的***,有利肯定有弊.要不microsoft推出linq這么長時間了.也沒見市場上很熱門.至今在我看來.用的人還是很少.這次在開發(fā)的過程中.最讓我抓狂的就是linq to sql多表關(guān)聯(lián)與動態(tài)條件查詢.

雖然網(wǎng)上有很多資料是linq to sql多表關(guān)系當(dāng)然也有動態(tài)條件查詢的.但是并沒有找到我想要的答案.與是只能靠自己摸索了.下面就是我要實現(xiàn)的結(jié)果,linq to sql多表關(guān)聯(lián).INNER JOIN + LEFT JOIN

 
 
 
  1. var q =  
  2.   (from ar in db.Articles  
  3.    join c in db.Categories on ar.ParentId  
  4.    equals c.Id  
  5.    join sc in db.Categories on ar.SubId equals sc.Id into scate  
  6.    from sc in scate.DefaultIfEmpty()  
  7.    where ar.IsPrivate == false  
  8.    orderby ar.CreateTime descending   
  9.    __select new  
  10.     {  
  11.        ararticle = ar,  
  12.        pcate = c,  
  13.        scscate = sc  
  14.     }).Take(3); 

linq to sql多表動態(tài)條件查詢:

 
 
 
  1. Expression> lambda = ar => (1==1);  
  2.             if (id != null)  
  3.                 lambda = (ar => ar.Id == id);   
  4.             var article = db.Articles.OrderByDescending
  5. (a => a.CreateTime).Where(lambda);  
  6.      return View(article);  

linq to sql多表,如果你要根據(jù)條件不同顯示相應(yīng)的數(shù)據(jù)的話,只要在q對像后追加Where()就OK:

 
 
 
  1. int Record__count = q.Count(); //得到記錄數(shù)     
  2.            int page = PagerHelper.GetCurrentPage();     
  3.            int SkipIndex = (page-1)__ * 5;  
  4.            var q = (from ar in db.Articles  
  5.     join c in db.Categories on ar.ParentId  
  6.         equals c.Id  
  7.     join sc in db.Categories on ar.SubId equals sc.Id into scate  
  8.     from sc in scate.DefaultIfEmpty()  
  9.     where ar.IsPrivate == false  
  10.     orderby ar.CreateTime descending  
  11.     __select new  
  12.     {  
  13.         ararticle = ar,  
  14.         pcate = c,  
  15.         scscate = sc  
  16.     });.Skip(SkipIndex).Take(5); 

以上就是對linq to sql多表的詳細闡述。


文章題目:linqtosql多表基礎(chǔ)描述
網(wǎng)站路徑:http://m.5511xx.com/article/ccsdgdo.html