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

LINQ調(diào)用存儲(chǔ)過程的實(shí)現(xiàn)方法

開發(fā) 后端
在LINQ調(diào)用存儲(chǔ)過程時(shí),LINQ調(diào)用存儲(chǔ)過程會(huì)自動(dòng)為返回的結(jié)果集生成一個(gè)類型,類型的名字是由 SP名+"Result" 組成。

LINQ調(diào)用存儲(chǔ)過程實(shí)現(xiàn)起來一點(diǎn)都不容易,就像其它的存儲(chǔ)過程一樣,需要很強(qiáng)的邏輯性與實(shí)用性。

LINQ調(diào)用存儲(chǔ)過程時(shí)出現(xiàn)的問題被customer問了多次了,我想問題雖小,但可能對(duì)大家有幫助,就順便寫下來和大家分享。

問題是這樣的,在LINQ調(diào)用存儲(chǔ)過程時(shí),很多customer不知道怎么去接受返回的結(jié)果集。所以很多人就這樣做了,當(dāng)然,看起來是能理解的:

  1. SampleDataContext test = new SampleDataContext();  
  2. IEnumerable retVal = test.sp();   // error here! 

但是在編譯時(shí)就會(huì)出錯(cuò),報(bào)一個(gè)類型轉(zhuǎn)換的錯(cuò)誤。其實(shí)在LINQ調(diào)用存儲(chǔ)過程時(shí),LINQ調(diào)用存儲(chǔ)過程會(huì)自動(dòng)為返回的結(jié)果集生成一個(gè)類型,類型的名字是由 SP名+"Result" 組成。

如SP名是sp,那么生成的類型就是 spResult。而調(diào)用SP時(shí)所返回的結(jié)果集就是 ISingleResult。至于為什么會(huì)報(bào)類型轉(zhuǎn)換錯(cuò)誤呢,很簡單,ISingleResult和IEnumerable不能互轉(zhuǎn)。

現(xiàn)在大家應(yīng)該知道該怎么做了吧?Try下如下代碼:

  1. SampleDataContext test = new SampleDataContext();  
  2. ISinlgeResult retValue = test.sp();  
  3. foreach(spResult value in retValue)  
  4. {  
  5.    string field = value.field;  

知道了怎么做還遠(yuǎn)遠(yuǎn)不夠,建議大家去看看LINQ調(diào)用存儲(chǔ)過程自動(dòng)生成的代碼。如果有這樣的習(xí)慣,相信大家很容易就能自己解決問題了。不過LINQ-SQL還有個(gè)小bug,如SingleResult所暗示的一樣,它還不能為我們生成MultipleResults,如SP中含有兩條Select語句時(shí)。

【編輯推薦】

  1. 詳談Linq查詢結(jié)果分析的方法
  2. 簡簡單單學(xué)習(xí)Linq查詢語法
  3. 詳細(xì)闡述Linq插入數(shù)據(jù)的操作方法
  4. 淺析Linq插入數(shù)據(jù)的實(shí)現(xiàn)方法
  5. 簡單解決Linq多條件組合問題
責(zé)任編輯:阡陌 來源: 博客園
相關(guān)推薦

2009-09-15 11:08:01

LinQ調(diào)用存儲(chǔ)過程

2010-10-29 16:12:51

Oracle存儲(chǔ)過程

2009-09-17 10:40:23

linq存儲(chǔ)過程

2009-09-17 10:04:32

LINQ存儲(chǔ)過程

2009-09-11 15:12:26

LINQ執(zhí)行存儲(chǔ)過程

2010-10-09 16:26:59

mysql存儲(chǔ)過程

2009-09-13 19:24:33

LINQ存儲(chǔ)過程

2009-09-09 10:54:52

Linq存儲(chǔ)過程返回

2012-03-01 13:34:02

Java

2009-09-09 13:18:26

Linq Submit

2009-09-09 09:59:08

Linq調(diào)用LoadP

2009-09-14 16:29:39

LINQ嵌套

2009-09-17 15:22:38

LINQ to SQL

2009-09-17 15:51:39

Linq to sql

2017-09-04 11:48:56

MybatisOracle存儲(chǔ)過程

2009-08-06 18:02:22

存儲(chǔ)過程

2009-09-17 10:27:55

linq存儲(chǔ)過程

2009-06-17 10:33:17

Hibernate 存

2011-09-01 13:43:23

VC調(diào)用SQL Ser

2009-09-15 16:44:44

Linq排序
點(diǎn)贊
收藏

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