using Castle.DynamicLinqQueryBuilder;
using System.Collections.Generic;
namespace QueryBuilderNestedModelTest
public int Id { get; set; }
public List<SubjectDTO> Subjects { get; set; }
public int Id { get; set; }
public string Name { get; set; }
public static List<StudentDTO> GenerateData()
List<StudentDTO> list = new List<StudentDTO>();
list.Add(new StudentDTO { Id = 1, Subjects = new List<SubjectDTO> { new SubjectDTO { Id = 1, Name = "Math" }, new SubjectDTO { Id = 1, Name = "Science" } } });
list.Add(new StudentDTO { Id = 2, Subjects = new List<SubjectDTO> { new SubjectDTO { Id = 1, Name = "Math" }, new SubjectDTO { Id = 1, Name = "Science" } } });
list.Add(new StudentDTO { Id = 3, Subjects = new List<SubjectDTO> { new SubjectDTO { Id = 1, Name = "History" }, new SubjectDTO { Id = 1, Name = "Geography" } } });
public static void Main(string[] args)
var searchFilterTest = new QueryBuilderFilterRule()
Rules = new List<QueryBuilderFilterRule>()
new QueryBuilderFilterRule()
Value = new [] { "Geography" }
var data = GenerateData().AsQueryable().BuildQuery(searchFilterTest);
Console.Write(data.Count());