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

Linq to object簡單描述

開發(fā) 后端
這里介紹Linq to object,因?yàn)椴樵兙浞ú粫徽浞g成SQL,而是從存儲過程的返回對象中再去對對象進(jìn)行查詢。

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

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

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

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

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

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

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

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

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

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

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

在這里確實(shí)是Linq to object的,因?yàn)椴樵兙浞ú粫徽浞g成SQL,而是從存儲過程的返回對象中再去對對象進(jìn)行查詢。SQL代碼如下:

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

【編輯推薦】

  1. Linq結(jié)果集形狀概述
  2. Linq存儲過程返回詳解
  3. Linq調(diào)用LoadProducts方法
  4. Linq使用數(shù)據(jù)表簡單描述
  5. Linq對象引用簡單介紹
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-14 10:57:46

LINQ入門

2009-09-15 16:26:36

Linq orderb

2009-09-18 16:00:07

LINQ架構(gòu)

2009-09-10 09:09:40

Linq實(shí)體繼承

2009-09-08 09:24:50

LINQ查詢

2009-09-14 10:20:52

LINQ查詢語法

2009-09-17 09:24:57

Linq實(shí)現(xiàn)分頁

2009-09-11 10:20:36

Linq擴(kuò)展方法

2009-09-11 12:32:33

LINQ表達(dá)式

2009-09-09 13:07:37

創(chuàng)建Linq數(shù)據(jù)庫

2009-09-09 11:24:13

Linq使用數(shù)據(jù)表

2009-09-09 15:37:27

Linq DataLo

2009-09-10 15:26:03

Linq City集合

2009-09-10 10:37:15

LINQ to SQL

2009-09-16 09:38:27

LINQ To SQL

2009-09-14 15:43:12

Linq Settin

2009-09-09 11:14:04

Linq多個(gè)結(jié)果集

2009-09-14 14:58:52

LINQ to XML

2009-09-18 13:53:09

LINQ工具集

2009-09-16 10:58:13

Linq數(shù)據(jù)分組
點(diǎn)贊
收藏

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