System.Linq.Dynamic.Core 用於進行創建動態的查詢表達式
github: https://github.com/StefH/System.Linq.Dynamic.Core/wiki/Dynamic-Expressions#the-parselambda-methods
數據:
var data = new List<Student>() { new Student() { Id = 1, Name = "A1", Age = 1, Date = new DateTime(2018,01,01) }, new Student() { Id = 2, Name = "B2", Age = 2, Date = new DateTime(2018,02,01) }, new Student() { Id = 3, Name = "C3", Age = 3, Date = new DateTime(2018,03,01) }, new Student() { Id = 4, Name = "D4", Age = 4, Date = new DateTime(2018,04,01) }, };
直接傳字符串進行簡單的查詢
var query = data .AsQueryable() .Where("Age>2&&Age<3") .OrderBy("Age descending"); var result = query.ToDynamicList<Student>();
如果碰到Date等不太好用字符串表達的形式 可以使用傳入參數來解決
var query = data .AsQueryable() .Where("Date>@0", new DateTime(2018,02,01)) .OrderBy("Age descending"); var result = query.ToDynamicList<Student>();
