// PostgreSQL COUNT() always returns bigint, so we need to downcast to int // TODO: Translate Count with predicate for GroupBy (see base implementation) public override SqlExpression TranslateCount(Expression expression = null) { if (expression != null) { // TODO: Translate Count with predicate for GroupBy return(null); } return(_sqlExpressionFactory.Convert( _sqlExpressionFactory.ApplyDefaultTypeMapping( _sqlExpressionFactory.Function("COUNT", new[] { _sqlExpressionFactory.Fragment("*") }, typeof(long))), typeof(int), _sqlExpressionFactory.FindMapping(typeof(int)))); }
public NpgsqlSqlTranslatingExpressionVisitor( RelationalSqlTranslatingExpressionVisitorDependencies dependencies, IModel model, QueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor) : base(dependencies, model, queryableMethodTranslatingExpressionVisitor) { _sqlExpressionFactory = (NpgsqlSqlExpressionFactory)dependencies.SqlExpressionFactory; _jsonPocoTranslator = ((NpgsqlMemberTranslatorProvider)Dependencies.MemberTranslatorProvider).JsonPocoTranslator; _boolMapping = _sqlExpressionFactory.FindMapping(typeof(bool)); }
// PostgreSQL COUNT() always returns bigint, so we need to downcast to int // TODO: Translate Count with predicate for GroupBy (see base implementation) public override SqlExpression TranslateCount(Expression expression = null) => _sqlExpressionFactory.Convert( _sqlExpressionFactory.ApplyDefaultTypeMapping( _sqlExpressionFactory.Function("COUNT", new[] { _sqlExpressionFactory.Fragment("*") }, typeof(long))), typeof(int), _sqlExpressionFactory.FindMapping(typeof(int)));