【发布时间】:2019-08-29 12:35:03
【问题描述】:
public static IQueryable<T> DynamicFilter<T>(this IQueryable<T> query, string Property, dynamic value) where T : class
{
return query.Where(x => x.GetType().GetProperty(Property) == value).AsQueryable();
}
【问题讨论】:
-
在使用
AsQueryable时务必小心。在这里,您似乎混合了IEnumerable<T>和IQueryable<T>。如果您正在与数据库交谈,您最终会将您正在使用的表加载到内存中并在您的应用程序中执行查询,而不是在 SQL 服务器上执行并获取结果
标签: c# linq methods dynamic iqueryable