成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq結果集形狀概述

開發 后端
這里介紹返回的Linq結果集形狀取決于傳入的參數。如果參數等于 1,則返回所有客戶屬性。如果參數等于2,則返回ContactName屬性。

Linq有很多值得學習的地方,這里我們主要介紹Linq結果集形狀,包括介紹 ResultTypeAttribute 屬性適用于返回多個結果類型的存儲過程等方面。

當存儲過程可以返回多個Linq結果集形狀時,返回類型無法強類型化為單個投影形狀。盡管 LINQ to SQL 可以生成所有可能的投影類型,但它無法獲知將以何種順序返回它們。 ResultTypeAttribute 屬性適用于返回多個結果類型的存儲過程,用以指定該過程可以返回的類型的集合。

在下面的 SQL 代碼示例中,Linq結果集形狀取決于輸入(param1 = 1或param1 = 2)。我們不知道先返回哪個投影。

  1. ALTER PROCEDURE [dbo].[SingleRowset_MultiShape]  
  2. -- Add the parameters for the stored procedure here  
  3. (@param1 int )  
  4. AS  
  5. BEGIN  
  6. -- SET NOCOUNT ON added to prevent extra result sets from  
  7. -- interfering with SELECT statements.  
  8. SET NOCOUNT ON;  
  9. if(@param1 = 1)  
  10. SELECT * from Customers as c where c.Region = 'WA' 
  11. else if (@param1 = 2)  
  12. SELECT CustomerID, ContactName, CompanyName from   
  13. Customers as c where c.Region = 'WA' 
  14. END 

拖到O/R設計器內,它自動生成了以下代碼段:

  1. [Function(Name="dbo.[Whole Or Partial Customers Set]")]  
  2. public ISingleResult<Whole_Or_Partial_Customers_SetResult>   
  3. Whole_Or_Partial_Customers_Set([Parameter(DbType="Int")]   
  4. System.Nullable<int> param1)  
  5. {  
  6. IExecuteResult result = this.ExecuteMethodCall(this,   
  7. ((MethodInfo)(MethodInfo.GetCurrentMethod())), param1);  
  8. return ((ISingleResult<Whole_Or_Partial_Customers_SetResult>)  
  9. (result.ReturnValue));  

但是,VS2008會把多結果集存儲過程識別為單結果集的存儲過程,默認生成的代碼我們要手動修改一下,要求返回多個結果集,像這樣:

  1. [Function(Name="dbo.[Whole Or Partial Customers Set]")]  
  2. [ResultType(typeof(WholeCustomersSetResult))]  
  3. [ResultType(typeof(PartialCustomersSetResult))]  
  4. public IMultipleResults Whole_Or_Partial_Customers_Set([Parameter  
  5. (DbType="Int")] System.Nullable<int> param1)  
  6. {  
  7. IExecuteResult result = this.ExecuteMethodCall(this,   
  8. ((MethodInfo)(MethodInfo.GetCurrentMethod())), param1);  
  9. return ((IMultipleResults)(result.ReturnValue));  

我們分別定義了兩個分部類,用于指定返回的類型。這樣就可以使用了,下面代碼直接調用,分別返回各自的結果集合。

  1. //返回全部Customer結果集  
  2. IMultipleResults result = db.Whole_Or_Partial_Customers_Set(1);  
  3. IEnumerable<WholeCustomersSetResult> shape1 =  
  4. result.GetResult<WholeCustomersSetResult>();  
  5. foreach (WholeCustomersSetResult compName in shape1)  
  6. {  
  7. Console.WriteLine(compName.CompanyName);  
  8. }  
  9. //返回部分Customer結果集  
  10. result = db.Whole_Or_Partial_Customers_Set(2);  
  11. IEnumerable<PartialCustomersSetResult> shape2 =  
  12. result.GetResult<PartialCustomersSetResult>();  
  13. foreach (PartialCustomersSetResult con in shape2)  
  14. {  
  15. Console.WriteLine(con.ContactName);  

語句描述:這個實例使用存儲過程返回“WA”地區中的一組客戶。返回的Linq結果集形狀取決于傳入的參數。如果參數等于 1,則返回所有客戶屬性。如果參數等于2,則返回ContactName屬性。

【編輯推薦】

  1. LINQ to DataSet查詢詳解
  2. Linq實現XML轉換淺談
  3. Linq to SQL強類型DataContext
  4. Linq SelectMany學習經驗
  5. 使用LINQ進行數據轉換剖析
責任編輯:佚名 來源: CSDN
相關推薦

2009-09-09 11:14:04

Linq多個結果集

2009-09-15 10:34:32

System.Data

2009-09-10 13:42:47

Linq UserIn

2009-09-10 11:10:21

Linq Librar

2009-09-15 15:45:00

Linq聯合查詢

2009-09-08 11:25:42

Linq foreac

2009-09-18 16:07:10

Linq Where操

2009-09-18 16:20:36

LINQ基礎

2009-09-08 16:08:44

Linq使用order

2009-09-10 16:28:17

LINQ查詢

2009-09-11 12:13:40

LINQ to SQL

2009-09-14 09:55:55

Linq基本語法

2009-09-18 13:44:38

LINQ設計模式

2009-09-16 17:21:53

LINQ遍歷

2009-09-14 15:15:45

LINQ技術

2009-09-17 10:27:55

linq存儲過程

2009-09-09 16:01:21

Linq實體繼承使用

2009-09-09 16:07:16

Linq實體關系

2009-09-11 10:38:03

LINQ體系結構

2009-09-15 11:29:04

LINQ to SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩1区2区 | 国产成人在线看 | 成人综合视频在线 | 欧美一区二区小视频 | 国产精品久久国产精品 | 免费黄色的视频 | 国产精品夜夜夜一区二区三区尤 | 欧美日韩中文字幕 | wwww.8888久久爱站网 | 狠狠久久久 | 亚洲一区二区视频在线观看 | 午夜一区 | 国产网站在线免费观看 | 中文字幕视频在线看 | 国产日韩一区二区三区 | 欧美精品一区二区在线观看 | 黄色大片网站 | 日韩成人免费视频 | 国产福利在线播放 | 亚洲iv一区二区三区 | 99精品网 | www.久久久.com | 亚洲欧洲日韩精品 中文字幕 | 亚洲国产一区二区三区 | 国产高清精品一区二区三区 | 久久99精品久久久 | 欧美精品久久久 | 亚洲国产aⅴ成人精品无吗 综合国产在线 | 久久精品视频亚洲 | 成人免费视频观看视频 | 日韩免费网 | 久久免费视频1 | 久久久国产一区二区三区 | 天堂中文在线观看 | 欧美一区二区在线免费观看 | 81精品国产乱码久久久久久 | 国产欧美久久一区二区三区 | v片网站| 91天堂网| 国产激情精品一区二区三区 | 情侣酒店偷拍一区二区在线播放 |