亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linq to object的示例分析

發布時間:2021-12-01 16:48:45 來源:億速云 閱讀:128 作者:小新 欄目:編程語言

這篇文章主要介紹Linq to object的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

學習Linq to object時,經常會遇到Linq to object問題,這里將介紹XX問題的解決方法。

普通存儲過程,首先在查詢分析器運行下面的代碼來創建一個存儲過程:

create proc sp_singleresultset  as  set nocount on  select * from customers

然后打開IDE的服務器資源管理器,之前我們從表中拖動表到dbml設計視圖,這次我們從存儲過程中找到剛才創建的存儲過程,然后拖動到設計視圖。在方法面板中可以看到已經創建了一個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));  

我們可以發現,IDE為這個存儲過程單獨生成了返回結果集的實體定義,你可能會覺得很奇怪,IDE怎么知道這個存儲過程將會返回哪些數據那?其實,在把存儲過程拖拽入dbml設計視圖的時候,IDE就執行了類似下面的命令:

SET FMTONLY ON;  exec Northwind.dbo.sp_singleresultset  SET FMTONLY OFF;

這樣就可以直接獲取存儲過程返回的元數據而無須執行存儲過程。

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

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

在這里確實是Linq to object的,因為查詢句法不會被整句翻譯成SQL,而是從存儲過程的返回對象中再去對對象進行查詢。SQL代碼如下:

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

以上是“Linq to object的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五大连池市| 崇文区| 太保市| 萍乡市| 鲁山县| 溧水县| 临夏县| 陆丰市| 奉化市| 蒙山县| 鹤庆县| 卢湾区| 石首市| 盐边县| 旬阳县| 磴口县| 宜黄县| 临高县| 永顺县| 苍溪县| 昭平县| 那坡县| 梅州市| 巴林右旗| 宜宾市| 美姑县| 囊谦县| 砚山县| 资兴市| 大田县| 墨江| 清镇市| 介休市| 剑阁县| 包头市| 安多县| 绵阳市| 万全县| 遂平县| 永仁县| 伊通|