我想创建一个动态方法,通过在
我发布了我的方法,并且通过使用反射或类似方法搜索解决方案,我卡在了这一行:
选择方法:
where
子句中使用contains
来选择数据。我找到了很多关于表达式的信息,但我找不到可行的组合。我发布了我的方法,并且通过使用反射或类似方法搜索解决方案,我卡在了这一行:
如何通过最佳实践解决这个问题?.Where(p => p.Description != null && p.Description.ToLower().Contains(lowerFilter));
选择方法:
public List<TEntity> GetItems(string sortBy, string sort, string? filter)
{
IQueryable<TEntity> items = dbContext.Set<TEntity>();
if (filter != null && filter.Length > 0)
{
string lowerFilter = filter.ToLower(CultureInfo.CurrentCulture);
items = items
.Where(p => p.Description != null && p.Description.ToLower().Contains(lowerFilter));
}
if (!string.IsNullOrEmpty(sortBy))
{
if (!string.IsNullOrEmpty(sort))
{
items = items.AsQueryable().OrderBy($"{sortBy} {sort}");
}
}
List<TEntity> itemsList = items.ToList();
return itemsList;
}