LINQ : 对LINQ TO SQL 查询进行编译
2009-07-16 22:55
253 查看
经常和人讨论到LINQ TO SQL的性能问题,我们都知道,LINQ TO SQL多少会有一些性能损耗,因为它的查询和操作语句都是动态拼接的。但我也觉得,这不可能是性能的瓶颈所在。
但是,有没有什么办法可以尽量地提高LINQ TO SQL的性能吗?
这一篇,我介绍一下对LINQ TO SQL查询进行编译的一个方法
例如我们经常需要按照城市检索,然后输出客户列表,我们可以预先将该语句进行编译,如下面这样定义
public static Func>
CustomersByCity =
CompiledQuery.Compile((Model.NorthwindDataContext db, string city) =>
from c in db.Customers where c.City == city select c);//对某一类查询进行编译,City可以换,但可以重用该查询 然后,在我们真正要用的地方就可以像下面这样调用 gv.DataSource = CustomersByCity(new Model.NorthwindDataContext(), "Berlin").Take(10);
gv.DataBind();
这样就可以尽可能地提高了LINQ TO SQL的性能
本文由作者:陈希章 于 2009/7/16 22:54:18 发布在:http://www.cnblogs.com/chenxizhang/
本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心
本文是使用博客同步和管理系统自动于2009/7/16 22:55:26 从 陈希章@博客园 同步过来的。原文地址: http://www.cnblogs.com/chenxizhang/archive/2009/07/16/1525194.html ,发表于2009/7/16 14:55:00.
但是,有没有什么办法可以尽量地提高LINQ TO SQL的性能吗?
这一篇,我介绍一下对LINQ TO SQL查询进行编译的一个方法
例如我们经常需要按照城市检索,然后输出客户列表,我们可以预先将该语句进行编译,如下面这样定义
public static Func>
CustomersByCity =
CompiledQuery.Compile((Model.NorthwindDataContext db, string city) =>
from c in db.Customers where c.City == city select c);//对某一类查询进行编译,City可以换,但可以重用该查询 然后,在我们真正要用的地方就可以像下面这样调用 gv.DataSource = CustomersByCity(new Model.NorthwindDataContext(), "Berlin").Take(10);
gv.DataBind();
这样就可以尽可能地提高了LINQ TO SQL的性能
本文由作者:陈希章 于 2009/7/16 22:54:18 发布在:http://www.cnblogs.com/chenxizhang/
本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心
本文是使用博客同步和管理系统自动于2009/7/16 22:55:26 从 陈希章@博客园 同步过来的。原文地址: http://www.cnblogs.com/chenxizhang/archive/2009/07/16/1525194.html ,发表于2009/7/16 14:55:00.
相关文章推荐
- LINQ : 对LINQ TO SQL 查询进行编译
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- 用LINQ to SQL 进行查询
- Linq to Sql : 动态构造Expression进行动态查询
- MVC中使用Linq To Sql进行数据查询及分页
- Linq to Sql : 动态构造Expression进行动态查询
- linq to sql 查询后排序(字符串类型的数字进行排序)
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- 直接执行查询和命令(LINQ TO SQL)
- 步步为营VS 2008 + .NET 3.5(8) - DLINQ(LINQ to SQL)之面向对象的添加、查询、更新和删除
- Linq to sql :查询句法
- 在LINQ to SQL中使用Translate方法以及修改查询用SQL
- LINQ to SQL 简单查询
- linq to sql 的动态条件查询方法
- Linq to Sql 聚合查询
- C#操作LINQ to SQL组件进行数据库建模的基本教程
- LINQ to SQL查询和SQL命令
- linq to sql 动态构建查询表达式树
- DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除