1

明示的な列がないクエリでFuturesクエリを使用する際に問題が発生しました。問題のあるクエリは次のとおりです。「SHOWMETA;」(http://sphinxsearch.com/docs/1.10/sphinxql-show-meta.htmlを参照)このクエリは、常に2つの列と複数の行を持つテーブルを返します。次のようにクエリを実行すると、すべてが正常に機能します。

var query = session.CreateSQLQuery("SHOW META");
var metaData = query.List(); // metadata is a list of object[] instances of length two

変数「metadata」には、長さ2のobject[]インスタンスのリストが含まれます。リスト内の各object[]アイテムには、最初の列の値(Variable_name)と2番目の列の値(Variable)が含まれます。

ただし、このクエリをFuturesクエリに変換しようとすると、長さが0のobject[]インスタンスのリストが返されます。

var query = session.CreateSQLQuery("SHOW META");
var futureQuery = query.Future();
var metaData = futureQuery.ToList(); // metadata is a list of object[] instances of length zero

つまり、結果の各行に対してobject []を取得しますが、データは追加されていません。私は何が間違っているのですか?それとも、これはNHibernateの制限ですか?

4

2 に答える 2

1

私が正しく理解していれば、Futureクエリは、セッション内のオブジェクト関係を追跡しないようにクエリをバッチ処理する方法にすぎません。

したがって、これが正しい場合は、将来のクエリと通常のクエリを別々のものとして扱い、オブジェクトのリストを取得しません。

于 2012-08-17T18:10:58.033 に答える
0

問題はNHibernateバージョン3.3.1にあり、先物が期待どおりに機能しないことがありました。このバグは、NHibernateのバージョン3.3.3で修正されています。

于 2014-08-22T07:19:21.173 に答える