8,497
社区成员
发帖
与我相关
我的任务
分享
var result = Context.User.Select(q => new { UserId = q.UserId,
UserName = q.UserName,
Sex = q.Sex,
Tel = q.Tel..... }).ToList();
var selector=......
var result = Context.User.Select(selector).ToList();
http://blog.csdn.net/q107770540/article/details/5724013
2:也可以用 国外人写的
public static class PredicateExtensions
{
public static Expression<Func<T, bool>> True<T>() { return f => true; }
public static Expression<Func<T, bool>> False<T>() { return f => false; }
public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> expr1, Expression<Func<T, bool>> expr2)
{
var invokedExpr = Expression.Invoke(expr2, expr1.Parameters.Cast<Expression>());
return Expression.Lambda<Func<T, bool>>(Expression.Or(expr1.Body, invokedExpr), expr1.Parameters);
}
public static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> expr1, Expression<Func<T, bool>> expr2)
{
var invokedExpr = Expression.Invoke(expr2, expr1.Parameters.Cast<Expression>());
return Expression.Lambda<Func<T, bool>>(Expression.And(expr1.Body, invokedExpr), expr1.Parameters);
}
}
使用方法
DataClasses3DataContext con = new DataClasses3DataContext();
var searchPredicate1 = PredicateExtensions.True<FeeMain>();
if (textBox1.Text != "")
searchPredicate1 = searchPredicate1.And(c => c.wtdw == textBox1.Text);//or
if (textBox2.Text != "")
searchPredicate1 = searchPredicate1.And(c => c.vessel == textBox2.Text);
var a = from c in con.FeeMain.Where(searchPredicate1) select c;
dataGridView1.DataSource = a;