public SqlReferencesColumnExpression(SqlTableExpression referencedTable, SqlColumnReferenceDeferrability deferrability, IReadOnlyList<string> referencedColumnNames, SqlColumnReferenceAction onDelete, SqlColumnReferenceAction onUpdate)
			: base(typeof(void))
		{
			this.OnDeleteAction = onDelete;
			this.OnUpdateAction = onUpdate;
			this.ReferencedTable = referencedTable;
			this.Deferrability = deferrability;
			this.ReferencedColumnNames = referencedColumnNames;
		}
        protected override void Write(SqlColumnReferenceAction action)
        {
            if (action == SqlColumnReferenceAction.Restrict)
            {
                Write("NO ACTION");

                return;
            }

            base.Write(action);
        }
Ejemplo n.º 3
0
        protected virtual void Write(SqlColumnReferenceAction action)
        {
            switch (action)
            {
            case SqlColumnReferenceAction.Cascade:
                this.Write("CASCADE");
                break;

            case SqlColumnReferenceAction.Restrict:
                this.Write("RESTRICT");
                break;

            case SqlColumnReferenceAction.SetDefault:
                this.Write("SET DEFAULT");
                break;

            case SqlColumnReferenceAction.SetNull:
                this.Write("SET NULL");
                break;
            }
        }
        private SqlColumnReferenceAction FixAction(SqlColumnReferenceAction action)
        {
            switch (action)
            {
            case SqlColumnReferenceAction.Cascade:
                return(this.sqlDialect.SupportsCapability(SqlCapability.RestrictAction) ? SqlColumnReferenceAction.Restrict : SqlColumnReferenceAction.NoAction);

            case SqlColumnReferenceAction.NoAction:
                return(SqlColumnReferenceAction.NoAction);

            case SqlColumnReferenceAction.Restrict:
                return(this.sqlDialect.SupportsCapability(SqlCapability.RestrictAction) ? SqlColumnReferenceAction.Restrict : SqlColumnReferenceAction.NoAction);

            case SqlColumnReferenceAction.SetDefault:
                return(this.sqlDialect.SupportsCapability(SqlCapability.SetDefaultAction) ? SqlColumnReferenceAction.SetDefault : SqlColumnReferenceAction.NoAction);

            case SqlColumnReferenceAction.SetNull:
                return(this.sqlDialect.SupportsCapability(SqlCapability.SetNullAction) ? SqlColumnReferenceAction.SetNull : SqlColumnReferenceAction.NoAction);

            default:
                throw new ArgumentOutOfRangeException(nameof(action));
            }
        }
Ejemplo n.º 5
0
        protected override void Write(SqlColumnReferenceAction action)
        {
            if (action == SqlColumnReferenceAction.Restrict)
            {
                this.Write("NO ACTION");

                return;
            }

            base.Write(action);
        }
Ejemplo n.º 6
0
 public SqlReferencesExpression(SqlTableExpression referencedTable, SqlColumnReferenceDeferrability deferrability, IReadOnlyList <string> referencedColumnNames, SqlColumnReferenceAction onDelete, SqlColumnReferenceAction onUpdate)
     : base(typeof(void))
 {
     this.OnDeleteAction        = onDelete;
     this.OnUpdateAction        = onUpdate;
     this.ReferencedTable       = referencedTable;
     this.Deferrability         = deferrability;
     this.ReferencedColumnNames = referencedColumnNames;
 }
Ejemplo n.º 7
0
 public SqlReferencesExpression(SqlTableExpression referencedTable, SqlColumnReferenceDeferrability deferrability, IEnumerable <string> referencedColumnNames, SqlColumnReferenceAction onDelete, SqlColumnReferenceAction onUpdate)
     : this(referencedTable, deferrability, referencedColumnNames.ToReadOnlyCollection(), onDelete, onUpdate)
 {
 }
Ejemplo n.º 8
0
 protected virtual void Write(SqlColumnReferenceAction action)
 {
     switch (action)
     {
     case SqlColumnReferenceAction.Cascade:
         this.Write("CASCADE");
         break;
     case SqlColumnReferenceAction.Restrict:
         this.Write("RESTRICT");
         break;
     case SqlColumnReferenceAction.SetDefault:
         this.Write("SET DEFAULT");
         break;
     case SqlColumnReferenceAction.SetNull:
         this.Write("SET NULL");
         break;
     }
 }
		public SqlReferencesColumnExpression(SqlTableExpression referencedTable, SqlColumnReferenceDeferrability deferrability, IEnumerable<string> referencedColumnNames, SqlColumnReferenceAction onDelete, SqlColumnReferenceAction onUpdate)
			: this(referencedTable, deferrability, referencedColumnNames.ToReadOnlyCollection(), onDelete, onUpdate)
		{
		}
 private SqlColumnReferenceAction FixAction(SqlColumnReferenceAction action)
 {
     switch (action)
     {
     case SqlColumnReferenceAction.Cascade:
         return this.sqlDialect.SupportsFeature(SqlFeature.RestrictAction) ? SqlColumnReferenceAction.Restrict : SqlColumnReferenceAction.NoAction;
     case SqlColumnReferenceAction.NoAction:
         return SqlColumnReferenceAction.NoAction;
     case SqlColumnReferenceAction.Restrict:
         return this.sqlDialect.SupportsFeature(SqlFeature.RestrictAction) ? SqlColumnReferenceAction.Restrict : SqlColumnReferenceAction.NoAction;
     case SqlColumnReferenceAction.SetDefault:
         return this.sqlDialect.SupportsFeature(SqlFeature.SetDefaultAction) ? SqlColumnReferenceAction.SetDefault : SqlColumnReferenceAction.NoAction;
     case SqlColumnReferenceAction.SetNull:
         return this.sqlDialect.SupportsFeature(SqlFeature.SetNullAction) ? SqlColumnReferenceAction.SetNull : SqlColumnReferenceAction.NoAction;
     default:
         throw new ArgumentOutOfRangeException("action");
     }
 }