0
コード:LINQクエリ[]
string[] seperators = { "," };
string[] typesList = types.Split(seperators, StringSplitOptions.RemoveEmptyEntries);
string[] topicsList = topics.Split(seperators, StringSplitOptions.RemoveEmptyEntries);
if (typesList.Length > 0)
filter = filter & builder.Where(t => typesList.Contains(t.Type));
if (topicsList.Length > 0)
filter = filter & builder.Where(t => topicsList.Any(id => t.Topics.Any(p => id == p.ToString())));
// above doesn't work
私のクラスには、これらのプロパティがあります。
public List<int> Topics { get; set; }
public string Type { get; set; }
私はこの仕事をするためにクエリを記述できますか?
編集:あなたは、コメントで述べたように、私は不明かもしれ
それでは、代わりにこのコードに焦点を当ててみましょう:
var list = new List<MyClass>();
list = LoadElements();
string[] parametr = { "8", "11" };
var result = list.Where(pm => pm.Topics.Any(t=> t.Equals(8) == true)).ToList();
//this above works for static '8' but I want to query through my 'parametr' list.
MyClassのオブジェクトは、次のとおりです。
public class MyClass
{
public string Data { get; set; }
public List<int> Topics{ get; set; }
}
なぜそれがありませんうまくいかない?どのようなエラーが出ますか? 'filter'データ型は何ですか?ビルダーとは何ですか? – Ian
MongoDB C#のドライバがありますが、もっと明確にすべきですが、それはあなたがどこのステートメントを使うことができるタイプだとしましょう。 – bombek
エラーは何ですか?ビルドのエラー?例外?上記のあなたのポストにそれらを含めてください。 – rinukkusu