Exemplo n.º 1
0
        public static bool HasPropertyExpression(
            this DbModificationClause modificationClause)
        {
            var setClause = modificationClause as DbSetClause;

            return(setClause?.Property is DbPropertyExpression);
        }
Exemplo n.º 2
0
 public static bool IsFor(
     this DbModificationClause clause,
     string property)
 {
     return(clause.HasPropertyExpression() &&
            clause.Property().Property.Name == property);
 }
Exemplo n.º 3
0
 public static DbModificationClause UpdateIfMatch(
     this DbModificationClause clause,
     string property,
     DbExpression value)
 {
     return(clause.IsFor(property)
         ? DbExpressionBuilder.SetClause(clause.Property(), value)
         : clause);
 }
Exemplo n.º 4
0
    public static DbModificationClause UpdateIfMatch(this DbModificationClause clause, string property, DbExpression value)
    {
        var propertyExpression = (DbPropertyExpression)((DbSetClause)clause).Property;

        if (propertyExpression.Property.Name == property)
        {
            return(DbExpressionBuilder.SetClause(propertyExpression, value));
        }
        return(clause);
    }
Exemplo n.º 5
0
        public static bool HasPropertyExpression(
            this DbModificationClause modificationClause)
        {
            var setClause = modificationClause as DbSetClause;

            if (setClause == null)
            {
                return(false);
            }

            return(setClause.Property is DbPropertyExpression);
        }
Exemplo n.º 6
0
        private static bool IgnoreProperty(DbModificationClause clause)
        {
            string propertyName = (((clause as DbSetClause)?.Property as DbPropertyExpression)?.Property as EdmProperty)
                                  ?.Name;

            if (propertyName == null)
            {
                return(false);
            }

            return(_namesToIgnore.Any(n => propertyName.Contains(n)));
        }
Exemplo n.º 7
0
        public static DbPropertyExpression Property(
            this DbModificationClause clause)
        {
            if (clause.HasPropertyExpression())
            {
                var setClause = (DbSetClause)clause;
                return((DbPropertyExpression)setClause.Property);
            }

            const string message = "clause does not contain property expression. " +
                                   "Use HasPropertyExpression method to check if it has property expression.";

            throw new Exception(message);
        }