十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
学习LINQ TO SQL时,经常会遇到LINQ TO SQL性能问题,这里将介绍LINQ TO SQL性能问题的解决方法

经常和人讨论到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性能