Tag: squeryable

在运行时创建动态LINQ查询表达式,转换为参数化SQL查询

我想为IQueryable创建自定义表达式。 示例扩展方法: public static IQueryable GetByIntTest(this IQueryable qSource, Expression<Func> field, int? value) { if (value == null) return qSource; ConstantExpression constantExpression = Expression.Constant(value, typeof(int?)); BinaryExpression binaryExpression = Expression.Equal(field.Body, constantExpression); var predicate = Expression.Lambda<Func>(binaryExpression, field.Parameters); return qSource.Where(predicate); } 它的工作原理,但问题是它转换为非参数化的sql。 例如没有扩展名的代码 int userId = 3; var testUsual = Context.Set().Where(u => u.Id == userId); 转换为下一个sql SELECT [Extent1].[Id] AS […]