私は2つの形式の通話を試しました.これは
products = DocumentSession.Query<Product>()
.Statistics(out stats)
.Where(p => p.INFO2.StartsWith(term1))
.Where(p => p.INFO2.StartsWith(term2))
.Where(p => p.INFO2.StartsWith(term3))
.OrderByField(columnToSortBy, columnToSortByAsc)
.Skip(pageIndex * pageSize)
.Take(pageSize)
.ToList()
;
そしてこのように
products = DocumentSession.Query<Product>()
.Statistics(out stats)
.Where(p => p.INFO2.StartsWith(term1) & p.INFO2.StartsWith(term2) & p.INFO2.StartsWith(term3))
.OrderByField(columnToSortBy, columnToSortByAsc)
.Skip(pageIndex * pageSize)
.Take(pageSize)
.ToList()
;
最初のものは私の期待に沿ったレコードを返しますが、2 番目のものは Product タイプのすべてのドキュメントを返すようです。LINQ式の観点から見た2つの違いは何ですか?私が達成しようとしていることを否定する可能性のあるものを見落としていませんか?
編集: Russ ごとに修正されたコード。
string t1 = terms[0];
string t2 = terms[1];
string t3 = terms[2];
products = DocumentSession.Query<Product>()
.Statistics(out stats)
.Where(p => p.INFO2.StartsWith(t1) && p.INFO2.StartsWith(t2) && p.INFO2.StartsWith(t3))
.OrderByField(columnToSortBy, columnToSortByAsc)
.Skip(pageIndex * pageSize)
.Take(pageSize)
.ToList()
;
編集2:これは、キーボード、またはその他の固体オブジェクトで顔を下に叩きつける場所です...標準のC#AndおよびOrを使用して、ここで基本に戻らなければなりません
ありがとう、スティーブン