public static void FilterStudents(SchoolContext ctx)
        {
            var studentsFilter = new StudentFilter
            {
                ContainsInName    = new[] { "a", "b" },
                EnrollmentMinDate = new DateTime(2002, 1, 1),
                MinCourses        = 1,
                MaxCourses        = 3
            };

            Mapper.Register(new StudentModelMapper());
            //GetFilter() is extension method for IFilterExpression<Student> interface and it combines all expression into one using &&.
            var students = ctx.Students.Where(studentsFilter.GetFilter()).Project().To <StudentModel>().ToList();
        }