Sharepoint リストに対して 2 パス検索を実行しようとしています。最初のパスでは、KeywordQuery を使用してすべてのアイテムのインデックスを検索しています。2 番目のパスでは、select ステートメントを作成して、ユーザーが選択した列値フィルターを適用しています。
ResultTableCollection rtc = kwqry.Execute();
ResultTable rt = rtc[ResultType.RelevantResults];
dt = new DataTable();
//Load Data Table
dt.Load(rt, LoadOption.OverwriteChanges);
DataRow[] rows = dt.Select("ColumnName1 = 'foo' AND ColumnName2 = 'bar'");
列は、Sharepoint リスト内の複数値ルックアップ列である可能性があります。最初のパスは適切に機能しており、DataTable に適切な数の一致を返しています。ただし、Select ステートメントを適用しようとすると、次のエラーが発生しますCannot perform '=' operation on System.String[] and System.String
。列を文字列配列ではなく文字列に変換すると、IN 演算子を使用した場合と同じエラーが発生します。
select ステートメントを正しく作成していませんか? DataTable で 2 番目のパス フィルターを実行するにはどうすればよいですか?