LinQ調(diào)用存儲(chǔ)過(guò)程淺談
本文向大家介紹LinQ調(diào)用存儲(chǔ)過(guò)程,可能好多人還不了解LinQ調(diào)用存儲(chǔ)過(guò)程,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
下面我們來(lái)看看LinQ在分頁(yè)和LinQ調(diào)用存儲(chǔ)過(guò)程上的一些基本操作,當(dāng)然將要舉例的存儲(chǔ)過(guò)程不是分頁(yè)檢索數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程。
1.分頁(yè)檢索Article
代碼如下:
- var pagedArticles = (from s in cntx.Articles
- where s.CategoryName.ToUpper() == "CSHARP"
- orderby s.PostDate descending
- select s).Skip(100).Take(20);
以上代碼是在數(shù)據(jù)庫(kù)中檢索類(lèi)型為C#的文章(按發(fā)表時(shí)間的降序排列)的第100后取20行記錄,如果按每頁(yè)20條記錄算也就是第6頁(yè),其中我們用到了Skip()和Take()方法。
2.LinQ調(diào)用存儲(chǔ)過(guò)程
在上面建立dbml文件時(shí)我們就通過(guò)拖拽把一個(gè)存儲(chǔ)過(guò)程(GetParentCategories)拖到方法框中,我寫(xiě)這個(gè)存儲(chǔ)過(guò)程的主要目的是獲取當(dāng)前類(lèi)型的父類(lèi)型列表。就一行代碼,代碼如下:
- var categories = cntx.GetParentCategories(1);
OK,今天的目的主要是從整體上來(lái)了解一下LinQ to SQL,我會(huì)在下面的博客文章中慢慢深入體會(huì)一下LinQ to SQL的樂(lè)趣,雖然在我的項(xiàng)目中不一定會(huì)用到這些。由于這些東東都會(huì)轉(zhuǎn)換為標(biāo)準(zhǔn)的SQL語(yǔ)句在通過(guò)數(shù)據(jù)庫(kù)引擎進(jìn)行查詢,所以效率上我想應(yīng)該有所影響,不過(guò)現(xiàn)在只在于多多了解和學(xué)習(xí).NET 3.x(C#3.0)給我們帶來(lái)的新特性。
【編輯推薦】