2013-05-13 83 views
0

我試圖在亞音速查詢中運行自定義方法。這裏是我的查詢:Subsonic 3.0調用方法ActiveRecord查詢

Page = Pages.SingleOrDefault(o=>Misc.MakeURL(o.Title) == URL); 

,我得到這個錯誤:

The method 'MakeURL' is not supported 

我使用的是亞音速3.任何想法將是巨大的,謝謝。

回答

0

這是根本不可能的,

亞音速轉換表達式到SQL,所以

Pages.SingleOrDefault(o => o.Title == "title"); 

將propably產生這樣

SELECT * FROM pages WHERE title = 'title' LIMIT 1 

類似的查詢和你期待亞音速到將您的MakeUrl(...)方法轉換爲SQL。你能指望什麼?

SELECT * FROM pages WHERE MAKEURL(title) = 'title' LIMIT 1 

但是,您既可以查詢標題,也可以在頁面上調用ToList(),但會從數據庫中提取所有記錄。

Page = Pages.ToList().SingleOrDefault(o=>Misc.MakeURL(o.Title) == URL);