2010-09-29 43 views
1

是否可以編譯將用於分頁和排序的查詢?例如這是否有道理:排序和分頁編譯的查詢

this.query = CompiledQuery.Compile<...>(
.. 
from row in dbx.Table select row 
) 

.. 

var select = this.query.OrderBy(..).Skip(..).Take(..); 

是否可信?或者每次Order,Skip,Take參數都會重新編譯?我應該回到常規查詢而不是編譯它們嗎?

回答

1

在您的示例中,每次都會重新編譯查詢。

但是,如果您將分頁置於的編譯查詢中,那麼它也會編譯分頁部分。

+0

你的意思是這樣的:this.query = CompiledQuery.Compile <...>( .. (從行dbx.Table選擇行).OrderBy(參數1).Skip(參數2)。取(參數3) ) – user424950 2010-09-30 07:07:17

+0

是, 像那樣 。 – 2010-09-30 12:38:24

+0

請注意,並非所有的DB都可以爲'OrderBy'使用params,但 – 2010-09-30 12:38:59