将Hibernate linq查询转换为HQL

时间:2009-07-28 05:16:54

标签: linq nhibernate hql

我知道IQueryable无法序列化。这意味着查询无法序列化,发送到Web服务,反序列化,查询然后再发回。

我想知道是否可以将hibernate linq查询转换为通过网络发送的hql。

我还缺少另一条路线吗?

2 个答案:

答案 0 :(得分:0)

我认为我已经看到ADO.NET数据服务被广告宣传与NHibernate合作:

http://wildermuth.com/2008/07/20/Silverlight_2_NHibernate_LINQ_==_Sweet

http://ayende.com/Blog/archive/2008/07/21/ADO.Net-Data-Services-with-NHibernate.aspx

这是一篇很老的帖子,并不确定这个功能是如何维护的,但它值得一试。

答案 1 :(得分:0)

我向你提出建议。不要尝试序列化查询。而是为您的用户提供组成任意LINQ表达式的能力。然后通过网络发送表达式(这里有一个问题,因为表达式不可序列化)到你的服务器。

我最近向NHibernate.Linq项目提交了一个对NHibernateExtensions类的更改 - 一个新的ISession扩展方法List,它接受一个表达式并用相应的数据填充给定的列表,就像ICriteria.List方法一样。接受了更改(请参阅here),因此下载最新版本的NHibernate.Linq应包含此方法。

无论如何,您可以找到此方法的详细信息here