public class Command
{
public int CommandId { get; set; }
public string Title { get; set; }
public virtual ICollection<CommandPart> CommandParts { get; set; }
}
public class CommandPart
{
public int CommandPartID { get; set; }
public string part { get; set; }
public virtual ICollection<Command> command { get; set; }
}
public ViewResult Filter(string myString)
{
var foo = myString.Split(Convert.ToChar("+"));
var a = foo[0];
var b = foo[1];
var query =
db.Commands.Where(
c =>
c.CommandParts.Any(p => p.part == a)
&& (c.CommandParts.Any(p2 => p2.part == b))).ToList();
return View(query.ToList());
}
上記のクエリは、fooに正確に2つの項目がある場合に期待通りに機能します。私は、クエリを作成するためにfooをループすることができるようにしたいと思います。これは私の試みですが、動作しません。実行時にLINQを生成するパラメータをループする
これはEntity Frameworkを使用したASP.NET MVC3プロジェクトです。実行時に生成されるようにクエリを書く方法はありますか?
[動的に述語を作成する](http://stackoverflow.com/questions/6383825/how-to-create-predicate-dynamically/6383937#6383937) – Eranga