Exemplo n.º 1
0
        public UpdateStatementsBuilder <TModel> UnsetField <TValue>(Expression <Func <TModel, TValue> > field)
        {
            var column = NodeVisitor.EvaluateExpressionToColumn(field.Body);

            AddUpdate(column, src => TypedExpression.FromPgValue(PgValue.Null));
            return(this);
        }
Exemplo n.º 2
0
    public static WhereBuilder<TModel> Eq<T>(Expression<Func<TModel, T>> field, T value)
    {
      var column = NodeVisitor.EvaluateExpressionToColumn(field.Body);
      var pgValue = PgTypesConverter.ConvertObjectToPgValue(value);

      var right = TypedExpression.FromPgValue(pgValue);

      return new WhereBuilder<TModel>(ExpressionBuilders.Eq(column.TypedExpression, right));
    }
Exemplo n.º 3
0
        public UpdateStatementsBuilder <TModel> SetField <TValue>(Expression <Func <TModel, TValue> > field, TValue value)
        {
            var pi       = NodeVisitor.VisitPath(field, null);
            var npgValue = PgTypesConverter.ConvertToPgValue(pi.Expression.Type, value);

            if (pi.JsonPath.Count > 0)
            {
                AddUpdate(pi.Column, src => ExpressionBuilders.JsonSet(src, pi.JsonPath, TypedExpression.FromPgValue(npgValue)));
            }
            else
            {
                AddUpdate(pi.Column, src => TypedExpression.FromPgValue(npgValue));
            }

            return(this);
        }
Exemplo n.º 4
0
        public static TypedExpression KDPgJsonbRemoveByValue <T>(TypedExpression array, IEnumerable <object> jsonPath, T item, bool firstOnly)
        {
            var pgValue = PgTypesConverter.ConvertObjectToPgValue(item);

            return(KDPgJsonbRemoveByValue(array, jsonPath, TypedExpression.FromPgValue(pgValue), firstOnly));
        }
Exemplo n.º 5
0
        public static TypedExpression KDPgJsonbAdd <T>(TypedExpression array, IEnumerable <object> jsonPath, T item)
        {
            var pgValue = PgTypesConverter.ConvertObjectToPgValue(item);

            return(KDPgJsonbAdd(array, jsonPath, TypedExpression.FromPgValue(pgValue)));
        }
Exemplo n.º 6
0
        public static TypedExpression ArrayRemoveItem <T>(TypedExpression array, T item)
        {
            var pgValue = PgTypesConverter.ConvertObjectToPgValue(item);

            return(ArrayRemoveItem(array, TypedExpression.FromPgValue(pgValue)));
        }
Exemplo n.º 7
0
 public static TypedExpression ContainsAny(TypedExpression left, IEnumerable array)
 => ContainsAny(left, TypedExpression.FromPgValue(PgTypesConverter.ConvertObjectToPgValue(array)));