av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

LINQ嵌套查詢實現(xiàn)淺析

LINQ嵌套查詢是如何實現(xiàn)的呢?那么下面我們看看具體的操作是怎么樣的,它對于我們的實際開發(fā)實踐有什么幫助,那么讓我們開始吧。

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務蘭考,10余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792

LINQ嵌套查詢應用實例:

如果我們需要取出市場部的所有員工,在以往的O/R Mapping框架中,往往需要取兩次(我們不考慮存在映射關系的情況),一次是取出市場部的編號,再使用編號來取出所有員工。LINQ給我們提供了更好的解決辦法,我們可以這樣操作:

 
 
 
  1. var query = from employee in dbdata.Employees   
  2. where employee.DepId ==  
  3.  
  4. (from department in dbdata.Departments   
  5. where department.DepName == "市場部" 
  6.  
  7.  select department ).Single().DepId  
  8.  
  9. select employee;  

這里我們使用了嵌套查詢來完成,這句話在執(zhí)行的時候,LINQ嵌套查詢被轉(zhuǎn)換成了SQL的嵌套查詢:

 
 
 
  1. SELECT [t0].[EmployeeId], [t0].[DepId],   
  2. [t0].[EmployeeName], [t0].[EmployeeSalary]   
  3. FROM [dbo].[Employee] AS [t0]   
  4. WHERE [t0].[DepId] = (  
  5. SELECT [t1].[DepId] FROM [dbo].[Department] AS [t1]   
  6. WHERE [t1].[DepName] = @p0) 

當然,在這里,我們不必那么麻煩,只需要使用已經(jīng)存在的實體關系,就可以輕松的完成:

 
 
 
  1. var query = from employee in dbdata.Employees   
  2. where employee.Department.DepName == "市場部" 
  3.  
  4. select employee;  

不過,這和剛才的查詢卻有本質(zhì)的差別,我們來看看這里,LINQ轉(zhuǎn)換成什么樣的SQL語句了:

 
 
 
  1. SELECT [t0].[EmployeeId], [t0].[DepId],   
  2. [t0].[EmployeeName], [t0].[EmployeeSalary]  
  3.  FROM [dbo].[Employee] AS [t0] LEFT OUTER JOIN [dbo].  
  4. [Department] AS [t1] ON [t1].[DepId] = [t0].[DepId]   
  5. WHERE [t1].[DepName] = @p0 

這里,轉(zhuǎn)換出來的并不是嵌套的SQL語句,而被轉(zhuǎn)換成了左連接查詢,可以看出,嵌套查詢是我們在特殊的情況下,可以使用的一個利器。

LINQ嵌套查詢的基本內(nèi)容就向你介紹到這里,希望對你了解和學習LINQ嵌套查詢有所幫助。


網(wǎng)站題目:LINQ嵌套查詢實現(xiàn)淺析
分享URL:http://uogjgqi.cn/article/copopgg.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流