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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linqtoobject簡(jiǎn)單描述

學(xué)習(xí)Linq to object時(shí),經(jīng)常會(huì)遇到Linq to object問題,這里將介紹XX問題的解決方法。

10年積累的成都網(wǎng)站制作、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有高坪免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

普通存儲(chǔ)過程,首先在查詢分析器運(yùn)行下面的代碼來創(chuàng)建一個(gè)存儲(chǔ)過程:

 
 
 
  1. create proc sp_singleresultset  
  2. as  
  3. set nocount on  
  4. select * from customers 

然后打開IDE的服務(wù)器資源管理器,之前我們從表中拖動(dòng)表到dbml設(shè)計(jì)視圖,這次我們從存儲(chǔ)過程中找到剛才創(chuàng)建的存儲(chǔ)過程,然后拖動(dòng)到設(shè)計(jì)視圖。在方法面板中可以看到已經(jīng)創(chuàng)建了一個(gè)sp_singleresultset的方法

然后打開Northwind.designer.cs,可以找到下面的代碼:

 
 
 
  1. [Function(Name="dbo.sp_singleresultset")]  
  2. public ISingleResult sp_singleresultset()  
  3. {  
  4. IExecuteResult result = this.ExecuteMethodCall(this, 
    ((MethodInfo)(MethodInfo.GetCurrentMethod())));  
  5. return ((ISingleResult)(result.ReturnValue));  

我們可以發(fā)現(xiàn),IDE為這個(gè)存儲(chǔ)過程單獨(dú)生成了返回結(jié)果集的實(shí)體定義,你可能會(huì)覺得很奇怪,IDE怎么知道這個(gè)存儲(chǔ)過程將會(huì)返回哪些數(shù)據(jù)那?其實(shí),在把存儲(chǔ)過程拖拽入dbml設(shè)計(jì)視圖的時(shí)候,IDE就執(zhí)行了類似下面的命令:

 
 
 
  1. SET FMTONLY ON;  
  2. exec Northwind.dbo.sp_singleresultset  
  3. SET FMTONLY OFF; 

這樣就可以直接獲取存儲(chǔ)過程返回的元數(shù)據(jù)而無須執(zhí)行存儲(chǔ)過程。

其實(shí)我們存儲(chǔ)過程返回的就是顧客表的數(shù)據(jù),如果你覺得為存儲(chǔ)過程單獨(dú)設(shè)置結(jié)果集實(shí)體有些浪費(fèi)的話可以在存儲(chǔ)過程的屬性窗口中調(diào)整返回類型從“自動(dòng)生成的類型”到Customer,不過以后你只能通過刪除方法面板中的存儲(chǔ)過程,然后重新添加來還原到“自動(dòng)生成的類型”。下面,我們可以寫如下的Linq to object代碼進(jìn)行查詢:

 
 
 
  1. var 單結(jié)果集存儲(chǔ)過程 =  from c in ctx.sp_singleresultset()  
  2. where c.CustomerID.StartsWith("A")  
  3. select c; 

在這里確實(shí)是Linq to object的,因?yàn)椴樵兙浞ú粫?huì)被整句翻譯成SQL,而是從存儲(chǔ)過程的返回對(duì)象中再去對(duì)對(duì)象進(jìn)行查詢。SQL代碼如下:

 
 
 
  1. EXEC @RETURN_VALUE = [dbo].[sp_singleresultset]  
  2. -- @RETURN_VALUE: Output Int32 (Size = 0; Prec = 0; Scale = 0)

分享題目:Linqtoobject簡(jiǎn)單描述
網(wǎng)站URL:http://www.5511xx.com/article/cdiphop.html