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

Linq存儲過程返回詳解

開發 后端
這里介紹Linq存儲過程返回,從數據庫中返回行集合,并包含用于篩選結果的輸入參數。 當我們執行返回行集合的存儲過程時,會用到結果類,它存儲從存儲過程中返回的結果。

學習Linq時,經常會遇到Linq存儲過程返回問題,這里將介紹Linq存儲過程返回問題的解決方法。

存儲過程

在我們編寫程序中,往往需要一些存儲過程,在LINQ to SQL中怎么使用呢?也許比原來的更簡單些。下面我們以NORTHWND.MDF數據庫中自帶的幾個存儲過程來理解一下。

1.標量返回

在數據庫中,有名為Customers Count By Region的存儲過程。該Linq存儲過程返回顧客所在"WA"區域的數量。

  1. ALTER PROCEDURE [dbo].[NonRowset]  
  2. (@param1 NVARCHAR(15))  
  3. AS  
  4. BEGIN  
  5. SET NOCOUNT ON;  
  6. DECLARE @count int  
  7. SELECT @count = COUNT(*)FROM Customers   
  8. WHERECustomers.Region = @Param1  
  9. RETURN @count  
  10. END 

我們只要把這個存儲過程拖到O/R設計器內,它自動生成了以下代碼段:

  1. [Function(Name = "dbo.[Customers Count By Region]")]  
  2. public int Customers_Count_By_Region([Parameter  
  3. (DbType = "NVarChar(15)")] string param1)  
  4. {  
  5. IExecuteResult result = this.ExecuteMethodCall(this,  
  6. ((MethodInfo)(MethodInfo.GetCurrentMethod())), param1);  
  7. return ((int)(result.ReturnValue));  

我們需要時,直接調用就可以了,例如:

  1. int count = db.CustomersCountByRegion("WA");  
  2. Console.WriteLine(count); 

語句描述:這個實例使用Linq存儲過程返回在“WA”地區的客戶數。

2.單一結果集

從數據庫中返回行集合,并包含用于篩選結果的輸入參數。 當我們執行返回行集合的存儲過程時,會用到結果類,它存儲從存儲過程中返回的結果。

下面的示例表示一個存儲過程,該Linq存儲過程返回客戶行并使用輸入參數來僅返回將“London”列為客戶城市的那些行的固定幾列。 

  1. ALTER PROCEDURE [dbo].[Customers By City]  
  2. -- Add the parameters for the stored procedure here  
  3. (@param1 NVARCHAR(20))  
  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. SELECT CustomerID, ContactName, CompanyName, City from   
  10. Customers as c where c.City=@param1  
  11. END 

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

  1. [Function(Name="dbo.[Customers By City]")]  
  2. public ISingleResult<Customers_By_CityResult> Customers_By_City(  
  3. [Parameter(DbType="NVarChar(20)")] string param1)  
  4. {  
  5. IExecuteResult result = this.ExecuteMethodCall(this, (  
  6. (MethodInfo)(MethodInfo.GetCurrentMethod())), param1);  
  7. return ((ISingleResult<Customers_By_CityResult>)  
  8. (result.ReturnValue));  

我們用下面的代碼調用:

  1. ISingleResult<Customers_By_CityResult> result =  
  2. db.Customers_By_City("London");  
  3. foreach (Customers_By_CityResult cust in result)  
  4. {  
  5. Console.WriteLine("CustID={0}; City={1}", cust.CustomerID,  
  6. cust.City);  

語句描述:這個實例使用Linq存儲過程返回在倫敦的客戶的 CustomerID和City。

【編輯推薦】

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

2009-09-17 10:04:32

LINQ存儲過程

2009-09-17 10:27:55

linq存儲過程

2009-09-15 11:08:01

LinQ調用存儲過程

2009-09-17 15:22:38

LINQ to SQL

2009-09-17 15:51:39

Linq to sql

2009-09-13 19:24:33

LINQ存儲過程

2009-09-17 10:40:23

linq存儲過程

2009-09-17 11:32:52

LINQ調用存儲過程

2021-10-15 06:43:11

數據庫存儲過程

2020-11-26 10:33:44

MySQL存儲函數

2009-09-15 15:45:00

Linq聯合查詢

2009-07-08 17:17:16

JDBC調用存儲過程

2011-07-19 17:33:53

存儲過程javaibatis

2009-09-11 15:12:26

LINQ執行存儲過程

2011-08-23 10:14:09

JDBC更新計數行調用存儲過程SQL Server

2011-05-18 10:07:13

oracle存儲

2009-09-18 14:51:19

LINQ TO SQL

2009-09-08 17:27:18

LINQ to Dat

2010-03-30 13:19:57

Oracle存儲

2009-09-14 16:29:39

LINQ嵌套
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久久久久久久久91 | 中文字幕成人av | 99re视频在线 | 欧美一区日韩一区 | 97超在线视频 | 成人一区二区三区视频 | 久草青青 | 成人一区二区三区 | 福利视频二区 | 在线一区视频 | 91精品国产一区二区三区 | 欧美性大战久久久久久久蜜臀 | 久久精品16 | 久久伊人一区 | 操久久| 日韩有码一区二区三区 | 黄色大片观看 | 免费观看黄a一级视频 | 天天爽夜夜操 | 不卡视频一区二区三区 | 99re在线视频| 欧美日韩一区二区三区不卡视频 | 中文字幕蜜臀av | 亚洲欧美综合精品久久成人 | 国产高清av免费观看 | 久久久久久久久久久久久9999 | 午夜国产羞羞视频免费网站 | 天天操天天操 | caoporn国产精品免费公开 | 国产日韩一区二区三免费高清 | av在线免费观看不卡 | 精品国产一区探花在线观看 | 日本精品视频一区二区三区四区 | 国产精品久久久久久久久久妇女 | 国产电影一区二区在线观看 | 国产一级一级毛片 | 在线观看国产视频 | 九九在线| 日本二区在线观看 | 欧美精品一区二区三区在线播放 | 亚洲精品一区中文字幕乱码 |