On an DataGrid i Like to Filter the col, but my DbContext
need a Expression predicate e.g. x => x.parameter.tolower().contains(filter.Arg[0].) ...
has any one an idea to resolve this?
int count;
List<contacts> employees;
async Task LoadData(LoadDataArgs args)
{
using (var db = new DbContext())
{
var query = db.contacts.AsQueryable();
if (!string.IsNullOrEmpty(args.Filter))
{
//query = query.Where(args.Filter);
query = query.Where(args.Filter); //<-- not allowed string to Linq.Expression ...
}
if (!string.IsNullOrEmpty(args.OrderBy))
{
//!> Order Resolved, works:
var orderCol = args.OrderBy;
var orderColProb = typeof(contacts).GetProperty(orderCol);
query = query.OrderBy(x => orderColProb.GetValue(x, null));
}
employees = query.Skip(args.Skip.Value).Take(args.Top.Value).ToList();
count = db.contacts.Count();
await InvokeAsync(StateHasChanged);
}
}