if ((pp != "") && (pp != "0"))
{
source = source.Where(Expression.Lambda(Expression.Equal(Expression.Property(expression = Expression.Parameter(typeof(<>f__AnonymousType4<string, string, bool?, string, string, int, string, bool, decimal, string, DateTime, int, int, bool, bool, int, bool, int, int, string, string, string, int, int, string, string, string, string, string, string, string>), "c"), (MethodInfo) methodof(<>f__AnonymousType4<string, string, bool?, string, string, int, string, bool, decimal, string, DateTime, int, int, bool, bool, int, bool, int, int, string, string, string, int, int, string, string, string, string, string, string, string>.get_pinpai, <>f__AnonymousType4<string, string, bool?, string, string, int, string, bool, decimal, string, DateTime, int, int, bool, bool, int, bool, int, int, string, string, string, int, int, string, string, string, string, string, string, string>)), Expression.Constant(pp), false, (MethodInfo) methodof(string.op_Equality)), new ParameterExpression[] { expression }));
}ParameterExpression expression;
IQueryable<Check_NewPrice> source = this.db.Check_NewPrice.Select<Check_NewPrice, Check_NewPrice>(Expression.Lambda<Func<Check_NewPrice, Check_NewPrice>>(expression = Expression.Parameter(typeof(Check_NewPrice), "c"), new ParameterExpression[] { expression }));
{
source = source.Where(Expression.Lambda(Expression.Equal(Expression.Property(expression = Expression.Parameter(typeof(<>f__AnonymousType4<string, string, bool?, string, string, int, string, bool, decimal, string, DateTime, int, int, bool, bool, int, bool, int, int, string, string, string, int, int, string, string, string, string, string, string, string>), "c"), (MethodInfo) methodof(<>f__AnonymousType4<string, string, bool?, string, string, int, string, bool, decimal, string, DateTime, int, int, bool, bool, int, bool, int, int, string, string, string, int, int, string, string, string, string, string, string, string>.get_pinpai, <>f__AnonymousType4<string, string, bool?, string, string, int, string, bool, decimal, string, DateTime, int, int, bool, bool, int, bool, int, int, string, string, string, int, int, string, string, string, string, string, string, string>)), Expression.Constant(pp), false, (MethodInfo) methodof(string.op_Equality)), new ParameterExpression[] { expression }));
}ParameterExpression expression;
IQueryable<Check_NewPrice> source = this.db.Check_NewPrice.Select<Check_NewPrice, Check_NewPrice>(Expression.Lambda<Func<Check_NewPrice, Check_NewPrice>>(expression = Expression.Parameter(typeof(Check_NewPrice), "c"), new ParameterExpression[] { expression }));
后一段,可以讲每个方法在MSDN中查下,自然明了了。