表达式树解析"框架"(3)(二)
e ExpressionType.Or:
case ExpressionType.OrElse:
args.Builder.Insert(index, " OR");
break;
case ExpressionType.LessThan:
args.Builder.Insert(index, " <");
break;
case ExpressionType.LessThanOrEqual:
args.Builder.Insert(index, " <=");
break;
default:
throw new NotImplementedException("无法解释节点类型" + type);
}
}
... ...
}
复制代码
结果
db.Where(u => u.Name != null);
//打印 SELECT * FROM [User] u WHERE u.[Name] IS NOT NULL
问题二
db.Where(u => u.Name.StartsWith("bl")); //u.Name like 'bl%'