LINQ TO SQL性能概括
學(xué)習(xí)LINQ TO SQL時,經(jīng)常會遇到LINQ TO SQL性能問題,這里將介紹LINQ TO SQL性能問題的解決方法
經(jīng)常和人討論到LINQ TO SQL性能問題,我們都知道,LINQ TO SQL多少會有一些性能損耗,因為它的查詢和操作語句都是動態(tài)拼接的。但我也覺得,這不可能是性能的瓶頸所在。
但是,有沒有什么辦法可以盡量地提高LINQ TO SQL性能嗎?
這一篇,我介紹一下對LINQ TO SQL查詢進行編譯的一個方法
例如我們經(jīng)常需要按照城市檢索,然后輸出客戶列表,我們可以預(yù)先將該語句進行編譯,如下面這樣定義
- public static Func>
- CustomersByCity =
- CompiledQuery.Compile((Model.NorthwindDataContext db, string city) =>
- from c in db.Customers where c.City == city select c);
- //對某一類查詢進行編譯,City可以換,但可以重用該查詢
然后,在我們真正要用的地方就可以像下面這樣調(diào)用
- gv.DataSource = CustomersByCity(new Model.NorthwindDataContext(), "Berlin").Take(10);
- gv.DataBind();
這樣就可以盡可能地提高了LINQ TO SQL性能
【編輯推薦】