Skip to content

DynamicQuerying is an extension function to Queryable that runs queries dynamically from string values.

License

Notifications You must be signed in to change notification settings

GeoGrivas/DynamicQuerying

Repository files navigation

DynamicQuerying

DynamicQuerying is an extension function to Queryable that runs queries dynamically from string values.

With the magic of reflection and expression trees, you can run lambda expressions that are built dynamically on runtime! DynamicQuerying is a take on that, in an attempt to run queries on collections dynamically.

Example:

            public List<TestObject> context { get; set; } = new List<TestObject>() {
              new TestObject{ Id=1,LastName="AAAA",Money=200,Name="BBBB"},
              new TestObject{ Id=2,LastName="AAAA",Money=300,Name="DDDD"},
              new TestObject{ Id=3,LastName="VVVV",Money=200,Name="DDDD"}
            };
            
            var queries = new List<Query>() {
                new Query {Field=nameof(TestObject.Id),Value="1",Type=QueryType.LessThanOrEqual }
            };
            var result = context.AsQueryable().RunQueries(queries);

This method was created originally for my Blazor.DataGrid project, in order to have dynamic filtering and ordering.

About

DynamicQuerying is an extension function to Queryable that runs queries dynamically from string values.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages