Subsonic 3.0 ActiveRecord查询中的调用方法

时间:2013-05-13 15:03:17

标签: c# linq subsonic subsonic3

我正在尝试在亚音速查询中运行自定义方法。这是我的疑问:

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

我收到了这个错误:

The method 'MakeURL' is not supported

我正在使用Subsonic 3.任何想法都会很棒,谢谢。

1 个答案:

答案 0 :(得分:0)

这根本不可能,

subsonic将您的表达式转换为SQL,所以

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

可以生成类似的查询

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);