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