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)); }
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)); }