Skip to content

k1laba/LinqDyn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

LinqDyn

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 as list.OrderBy(i => i.SortOrder)
  • list.OrderByDescending("SortOrder") returns same result as list.OrderByDescending(i => i.SortOrder)

About

Implemented extension methods on Linq using expression trees to support dynamic ordering and filtering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages