偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

linq to sql多表基礎(chǔ)描述

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

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

在去年的有接觸過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)條件查詢的.但是并沒有找到我想要的答案.與是只能靠自己摸索了.下面就是我要實(shí)現(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多表的詳細(xì)闡述。

【編輯推薦】

  1. 深入淺出 LINQ表達(dá)式
  2. LINQ基礎(chǔ)學(xué)習(xí)之LINQ to XML
  3. 學(xué)習(xí)心得LINQ to XML
  4. 淺析LINQ開發(fā)技術(shù)之LINQ to XML
  5. 詳細(xì)闡述linq動態(tài)排序
責(zé)任編輯:阡陌 來源: 百度空間
相關(guān)推薦

2009-09-10 10:37:15

LINQ to SQL

2009-09-16 09:38:27

LINQ To SQL

2009-09-17 18:05:15

linq to sql

2009-09-17 17:34:23

linq to sql

2009-09-15 11:14:33

LINQ to SQL

2009-09-15 13:14:01

LINQ to SQL

2009-09-18 16:41:46

Linq to sql

2009-09-17 11:08:55

LINQ查詢表達(dá)式

2009-09-15 10:02:44

Linq to SQL

2009-09-09 15:37:27

Linq DataLo

2009-09-14 15:43:12

Linq Settin

2009-09-09 15:28:43

Linq to obj

2009-09-10 15:26:03

Linq City集合

2009-09-14 10:57:46

LINQ入門

2009-09-18 16:00:07

LINQ架構(gòu)

2009-09-15 16:26:36

Linq orderb

2010-08-24 09:47:05

LINQ to SQL

2009-09-08 09:24:50

LINQ查詢

2009-09-14 10:20:52

LINQ查詢語法

2009-09-14 16:33:55

LINQ To XML
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號