设为首页 加入收藏

TOP

扩展MongoDB C# Driver的QueryBuilder(三)
2015-11-21 00:57:45 来源: 作者: 【 】 浏览:8
Tags:扩展 MongoDB Driver QueryBuilder
(string.Format({0}.{1}, _collectionName, memberName), value); } } public class QueryMember { private readonly QueryExpressionHelper _queryExpression; private string _collectionName; public string Context { get { return _collectionName; } } public QueryMember(Expression > exp) { _queryExpression = new QueryExpressionHelper(); _collectionName = _queryExpression.MemberExpression(exp); } public QueryMember(string context) { _collectionName = context; } } public class QueryExpressionHelper { public string Context; public string MemberExpression (Expression expression) { MemberExpression me; switch (expression.Body.NodeType) { case ExpressionType.MemberAccess: me = expression.Body as MemberExpression; break; case ExpressionType.Convert: dynamic convertedBody = expression.Body; me = convertedBody.Operand as MemberExpression; break; default: throw new NotSupportedException(string.Format(Member with node type {0} is not supported. expression {1}, expression.Body.NodeType, expression)); } var stack = new Stack (); while (me != null) { stack.Push(me.Member.Name); me = me.Expression as MemberExpression; } var expStr = string.Join(., stack.ToArray()); return expStr; } } public static class QueryMoney { public static IMongoQuery Value(string name, double val) { var accuracy = 0.005; return Query.And( Query.LT(name, new BsonDouble(val + accuracy)), Query.GT(name, new BsonDouble(val - accuracy))); } }

?

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇poj 2488 A Knight's Journey.. 下一篇leetCode 32.Longest Valid Paren..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: