Linq多个结果集描述

本文向大家介绍Linq多个结果集,可能好多人还不了解Linq多个结果集,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

创新互联建站专注于成都网站设计、网站建设、外贸网站建设、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。

Linq多个结果集

这种存储过程可以生成Linq多个结果集形状,但我们已经知道结果的返回顺序。

下面是一个按顺序返回Linq多个结果集的存储过程Get Customer And Orders。 返回顾客ID为"SEVES"的顾客和他们所有的订单。

 
 
 
  1. ALTER PROCEDURE [dbo].[Get Customer And Orders]  
  2. (@CustomerID nchar(5))  
  3. -- Add the parameters for the stored procedure here  
  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 * FROM Customers AS c WHERE c.CustomerID = @CustomerID  
  10. SELECT * FROM Orders AS o WHERE o.CustomerID = @CustomerID  
  11. END 

拖到设计器代码如下:

 
 
 
  1. [Function(Name="dbo.[Get Customer And Orders]")]  
  2. public ISingleResult 
  3. Get_Customer_And_Orders([Parameter(Name="CustomerID",  
  4. DbType="NChar(5)")] string customerID)  
  5. {  
  6. IExecuteResult result = this.ExecuteMethodCall(this,  
  7. ((MethodInfo)(MethodInfo.GetCurrentMethod())), customerID);  
  8. return ((ISingleResult)  
  9. (result.ReturnValue));  

同样,我们要修改自动生成的代码:

 
 
 
  1. [Function(Name="dbo.[Get Customer And Orders]")]  
  2. [ResultType(typeof(CustomerResultSet))]  
  3. [ResultType(typeof(OrdersResultSet))]  
  4. public IMultipleResults Get_Customer_And_Orders  
  5. ([Parameter(Name="CustomerID",DbType="NChar(5)")]  
  6. string customerID)  
  7. {  
  8. IExecuteResult result = this.ExecuteMethodCall(this,  
  9. ((MethodInfo)(MethodInfo.GetCurrentMethod())), customerID);  
  10. return ((IMultipleResults)(result.ReturnValue));  

同样,自己手写类,让其存储过程返回各自的结果集。

 
 
 
  1. IMultipleResults result = db.Get_Customer_And_Orders("SEVES");  
  2. //返回Customer结果集  
  3. IEnumerable customer =   
  4. result.GetResult();  
  5. //返回Orders结果集  
  6. IEnumerable orders =   
  7.  result.GetResult();  
  8. //在这里,我们读取CustomerResultSet中的数据  
  9. foreach (CustomerResultSet cust in customer)  
  10. {  
  11. Console.WriteLine(cust.CustomerID);  

语句描述:这个实例使用存储过程返回客户“SEVES”及其所有订单。以上介绍Linq多个结果集

分享标题:Linq多个结果集描述
本文路径:http://www.csdahua.cn/qtweb/news45/547295.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网