繁体   English   中英

Subsonic 3.0 ActiveRecord查询中的调用方法

[英]Calling Method in Subsonic 3.0 ActiveRecord Query

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

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

我收到此错误:

The method 'MakeURL' is not supported

我正在使用Subsonic3。任何想法都很好,谢谢。

这根本不可能,

亚音速会将您的表达式转换为SQL,因此

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

可能会生成类似这样的查询

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

并且您期望subsonic将您的MakeUrl(...)方法转换为SQL。 你能指望什么?

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

但是,您既可以查询标题,也可以在页面上调用ToList(),但这将从数据库中提取所有记录。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM