IQueryableをシリアル化できないことを理解しています。つまり、クエリをシリアル化したり、Webサービスに送信したり、逆シリアル化したり、照会したり、返信したりすることはできません。HibernateのlinqクエリをHQLに変換する
hibernate linqクエリをhqlに変換してワイヤを介して送信することが可能かどうか疑問に思っていました。
もう1つのルートがありますか?
IQueryableをシリアル化できないことを理解しています。つまり、クエリをシリアル化したり、Webサービスに送信したり、逆シリアル化したり、照会したり、返信したりすることはできません。HibernateのlinqクエリをHQLに変換する
hibernate linqクエリをhqlに変換してワイヤを介して送信することが可能かどうか疑問に思っていました。
もう1つのルートがありますか?
私はNHibernateはで動作するように広告を出してADO.NET Data Servicesのを見てきたと思う:
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
これは、この機能を維持するかどうかはわかり古いポストではなく、しかし、それは価値があります。
私はあなたにお勧めします。クエリをシリアル化しようとしないでください。むしろ、ユーザーに任意のLINQ式を組み立てる能力を提供してください。その後、式をシリアル化することはできません。これは、サーバーに式をシリアル化することができないためです。
私は最近NHibernate.LinqプロジェクトにNHibernateExtensionsクラス(新しいISession拡張メソッドリスト)を変更しました。これは式を受け取り、指定されたリストをICriteria.Listメソッドのようなそれぞれのデータで満たします。変更は受け入れられました(here参照)ので、最近のバージョンのNHibernate.Linqをダウンロードするには、このメソッドを含める必要があります。
とにかく、このアプローチの詳細はhereです。
私は、あなたが最初に任意のクエリを受け入れるようにWebサービスを設計したいのはなぜか懐疑的です。一般的には良い考えではありません。 – Thorarin