アプリケーションでDynamic Linq
を使用しましたが、残念ながら機能しません。これが私のサンプルコードです。
List<string> contains = new List<string>() { "Poland", "Ecuador" };
List<object> array = new List<object>();
array.Add("Austria");
array.Add("Eritrea");
array.Add(contains);
//this works
var data0 = Contact.GetContactsList().AsQueryable().Where("@0.Contains(outerIt.Country)", array);
//this does not work
var data = Contact.GetContactsList().AsQueryable().Where("Country.Equals(@0) OR it.Country.Equals(@1) OR @3.Contains(outerIt.Country)", array.ToArray());
国に関連する連絡先のリストがあります。等号と包含の混合演算子を使用したことがわかります。 containsが個別に使用されている場合は、正しく機能します。ここでは、Equals演算子とContains演算子の両方を使用して新しいクエリ文字列を作成しました。 data
を取得data
処理中に、出力またはdata0
とエラーを説明する画像を添付しました
ありがとうございました。
そこで私は愚かな間違いをした。コードは正常に機能していますが、そこに間違ったインデックスを付けました。インデックス3を2に置き換える必要があります。:P ここに画像の説明を入力してください
結果を添付します。