/// <summary>
/// 构造Lambda表达式
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="id"></param>
/// <returns></returns>
private Expression<Func<T, bool>> BuildLambda<T>(int id)
{
ParameterExpression param = Expression.Parameter(typeof(T), "t");
Expression left = Expression.Property(param, typeof(T).GetProperty("id"));//id为数据库的字段id.
Expression right = Expression.Constant(id);
Expression filter = Expression.Equal(left, right);
var lambda = Expression.Lambda<Func<T, bool>>(filter, param);
return lambda;
}