コード例 #1
0
ファイル: MongoDB.cs プロジェクト: 403016605/CRL3
        internal override TType GetFunction <TType, TModel>(Expression <Func <TModel, bool> > expression, Expression <Func <TModel, TType> > selectField, FunctionType functionType, bool compileSp = false)
        {
            var query = new MongoDBLambdaQuery <TModel>(dbContext);

            query.Select(selectField.Body);
            query.Where(expression);
            var    collection = _MongoDB.GetCollection <TModel>(query.QueryTableName);
            object result     = null;

            switch (functionType)
            {
            case FunctionType.COUNT:
                result = collection.Count(query.__MongoDBFilter);
                break;

            default:
                throw new NotSupportedException("MongoDB不支持的函数:" + functionType);
            }
            return(ObjectConvert.ConvertObject <TType>(result));
        }
コード例 #2
0
        public override TType GetFunction <TType, TModel>(Expression <Func <TModel, bool> > expression, Expression <Func <TModel, TType> > selectField, FunctionType functionType, bool compileSp = false)
        {
            var query = new MongoDBLambdaQuery <TModel>(dbContext);

            query.Select(selectField.Body);
            query.Where(expression);
            var    collection = _MongoDB.GetCollection <TModel>(query.QueryTableName);
            object result     = null;

            //https://blog.csdn.net/shiyaru1314/article/details/52370478
            //https://www.jb51.net/article/113820.htm
            //https://blog.csdn.net/u013476435/article/details/81560089
            switch (functionType)
            {
            case FunctionType.COUNT:
                result = collection.Count(query.__MongoDBFilter);
                break;

            default:
                throw new NotSupportedException("MongoDB不支持的函数:" + functionType);
            }
            return(ObjectConvert.ConvertObject <TType>(result));
        }