网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Linqtoobject的示例分析

这篇文章主要介绍Linq to object的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联成立与2013年,先为普兰等服务建站,普兰等地企业,进行企业商务咨询服务。为普兰企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

学习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_singleresultset()  

  3. {  

  4. IExecuteResult result = this.ExecuteMethodCall(this, 
    ((MethodInfo)(MethodInfo.GetCurrentMethod())));  

  5. return ((ISingleResult)(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的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网页题目:Linqtoobject的示例分析
链接分享:http://bjjierui.cn/article/ggcces.html

其他资讯