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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
LINQ調(diào)用存儲(chǔ)過(guò)程的實(shí)現(xiàn)方法

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

創(chuàng)新互聯(lián)建站-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比喀左網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式喀左網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋喀左地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴(lài)。

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

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

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

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

如SP名是sp,那么生成的類(lèi)型就是 spResult。而調(diào)用SP時(shí)所返回的結(jié)果集就是 ISingleResult 。至于為什么會(huì)報(bào)類(lèi)型轉(zhuǎn)換錯(cuò)誤呢,很簡(jiǎn)單,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ǔ)過(guò)程自動(dòng)生成的代碼。如果有這樣的習(xí)慣,相信大家很容易就能自己解決問(wèn)題了。不過(guò)LINQ-SQL還有個(gè)小bug,如SingleResult所暗示的一樣,它還不能為我們生成MultipleResults,如SP中含有兩條Select語(yǔ)句時(shí)。


分享文章:LINQ調(diào)用存儲(chǔ)過(guò)程的實(shí)現(xiàn)方法
鏈接地址:http://www.5511xx.com/article/dhieedh.html