protected override Expression VisitCreateIndex(SqlCreateIndexExpression createIndexExpression)
        {
            var predicate = createIndexExpression
                            .Columns
                            .Select(c => (Expression) new SqlFunctionCallExpression(typeof(bool), SqlFunction.IsNotNull, c.Column))
                            .Aggregate(Expression.And);

            return(createIndexExpression.ChangeWhere(createIndexExpression.Where == null ? predicate : Expression.And(createIndexExpression.Where, predicate)));
        }
예제 #2
0
        protected override Expression VisitCreateIndex(SqlCreateIndexExpression createIndexExpression)
        {
            if (createIndexExpression.Where != null && this.explicitIndexConditionOverridesNullAnsiCompliance)
            {
                return(createIndexExpression);
            }

            if (!(createIndexExpression.Unique || this.fixNonUniqueIndexesAsWell))
            {
                return(createIndexExpression);
            }

            var predicate = createIndexExpression
                            .Columns
                            .Select(c => (Expression) new SqlFunctionCallExpression(typeof(bool), SqlFunction.IsNotNull, c.Column))
                            .Aggregate(Expression.And);

            return(createIndexExpression.ChangeWhere(createIndexExpression.Where == null ? predicate : Expression.And(createIndexExpression.Where, predicate)));
        }
예제 #3
0
 protected override Expression VisitCreateIndex(SqlCreateIndexExpression createIndexExpression)
 {
     return(base.VisitCreateIndex(createIndexExpression.ChangeWhere(null)));
 }