Linq多個(gè)結(jié)果集描述
本文向大家介紹Linq多個(gè)結(jié)果集,可能好多人還不了解Linq多個(gè)結(jié)果集,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
Linq多個(gè)結(jié)果集
這種存儲(chǔ)過(guò)程可以生成Linq多個(gè)結(jié)果集形狀,但我們已經(jīng)知道結(jié)果的返回順序。
下面是一個(gè)按順序返回Linq多個(gè)結(jié)果集的存儲(chǔ)過(guò)程Get Customer And Orders。 返回顧客ID為"SEVES"的顧客和他們所有的訂單。
- ALTER PROCEDURE [dbo].[Get Customer And Orders]
- (@CustomerID nchar(5))
- -- Add the parameters for the stored procedure here
- AS
- BEGIN
- -- SET NOCOUNT ON added to prevent extra result sets from
- -- interfering with SELECT statements.
- SET NOCOUNT ON;
- SELECT * FROM Customers AS c WHERE c.CustomerID = @CustomerID
- SELECT * FROM Orders AS o WHERE o.CustomerID = @CustomerID
- END
拖到設(shè)計(jì)器代碼如下:
- [Function(Name="dbo.[Get Customer And Orders]")]
- public ISingleResult<Get_Customer_And_OrdersResult>
- Get_Customer_And_Orders([Parameter(Name="CustomerID",
- DbType="NChar(5)")] string customerID)
- {
- IExecuteResult result = this.ExecuteMethodCall(this,
- ((MethodInfo)(MethodInfo.GetCurrentMethod())), customerID);
- return ((ISingleResult<Get_Customer_And_OrdersResult>)
- (result.ReturnValue));
- }
同樣,我們要修改自動(dòng)生成的代碼:
- [Function(Name="dbo.[Get Customer And Orders]")]
- [ResultType(typeof(CustomerResultSet))]
- [ResultType(typeof(OrdersResultSet))]
- public IMultipleResults Get_Customer_And_Orders
- ([Parameter(Name="CustomerID",DbType="NChar(5)")]
- string customerID)
- {
- IExecuteResult result = this.ExecuteMethodCall(this,
- ((MethodInfo)(MethodInfo.GetCurrentMethod())), customerID);
- return ((IMultipleResults)(result.ReturnValue));
- }
同樣,自己手寫(xiě)類,讓其存儲(chǔ)過(guò)程返回各自的結(jié)果集。
- IMultipleResults result = db.Get_Customer_And_Orders("SEVES");
- //返回Customer結(jié)果集
- IEnumerable<CustomerResultSet> customer =
- result.GetResult<CustomerResultSet>();
- //返回Orders結(jié)果集
- IEnumerable<OrdersResultSet> orders =
- result.GetResult<OrdersResultSet>();
- //在這里,我們讀取CustomerResultSet中的數(shù)據(jù)
- foreach (CustomerResultSet cust in customer)
- {
- Console.WriteLine(cust.CustomerID);
- }
語(yǔ)句描述:這個(gè)實(shí)例使用存儲(chǔ)過(guò)程返回客戶“SEVES”及其所有訂單。以上介紹Linq多個(gè)結(jié)果集
【編輯推薦】

















