Added three extension methods for linq
- OrderBy - Has property name as input parameter
- OrderByDescending - Has property name as input parameter
- FilterBy - Has strongly typed input parameter
#Installation
You can install package from nuget:
Install-Package LinqDyn
#Code Example
public class ProductFilter
{
[FilterInfo(FilterOperator.Contains)]
public string Name { get; set; }
[FilterInfo(FilterOperator.GreaterOrEqual)]
public int SortOrder { get; set; }
}
ProductFilter filter = new ProductFilter() { Name = "test", SortOrder = 5 };
var result1 = list.FilterBy(filter);
var result2 = list.Where(i => i.SortOrder >= filter.SortOrder)
.Where(i => i.Name.Contains(filter.Name));
In the above example result1 and result2 have same results.
-
list.OrderBy("SortOrder")
returns same result aslist.OrderBy(i => i.SortOrder)
-
list.OrderByDescending("SortOrder")
returns same result aslist.OrderByDescending(i => i.SortOrder)