2009-07-28 8 views
2

IQueryableをシリアル化できないことを理解しています。つまり、クエリをシリアル化したり、Webサービスに送信したり、逆シリアル化したり、照会したり、返信したりすることはできません。HibernateのlinqクエリをHQLに変換する

hibernate linqクエリをhqlに変換してワイヤを介して送信することが可能かどうか疑問に思っていました。

もう1つのルートがありますか?

+5

私は、あなたが最初に任意のクエリを受け入れるようにWebサービスを設計したいのはなぜか懐疑的です。一般的には良い考えではありません。 – Thorarin

答えて

0

私はあなたにお勧めします。クエリをシリアル化しようとしないでください。むしろ、ユーザーに任意のLINQ式を組み立てる能力を提供してください。その後、式をシリアル化することはできません。これは、サーバーに式をシリアル化することができないためです。

私は最近NHibernate.LinqプロジェクトにNHibernateExtensionsクラス(新しいISession拡張メソッドリスト)を変更しました。これは式を受け取り、指定されたリストをICriteria.Listメソッドのようなそれぞれのデータで満たします。変更は受け入れられました(here参照)ので、最近のバージョンのNHibernate.Linqをダウンロードするには、このメソッドを含める必要があります。

とにかく、このアプローチの詳細はhereです。

関連する問題