Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CanBeRemovedFromCollection()

override bool System.Data.UniqueConstraint.CanBeRemovedFromCollection ( ConstraintCollection constraints,
bool fThrowException )
inlinepackage

Definition at line 154 of file UniqueConstraint.cs.

155 {
156 if (Equals(constraints.Table._primaryKey))
157 {
158 if (!fThrowException)
159 {
160 return false;
161 }
162 throw ExceptionBuilder.RemovePrimaryKey(constraints.Table);
163 }
164 ParentForeignKeyConstraintEnumerator parentForeignKeyConstraintEnumerator = new ParentForeignKeyConstraintEnumerator(Table.DataSet, Table);
165 while (parentForeignKeyConstraintEnumerator.GetNext())
166 {
167 ForeignKeyConstraint foreignKeyConstraint = parentForeignKeyConstraintEnumerator.GetForeignKeyConstraint();
168 if (_key.ColumnsEqual(foreignKeyConstraint.ParentKey))
169 {
170 if (!fThrowException)
171 {
172 return false;
173 }
174 throw ExceptionBuilder.NeededForForeignKeyConstraint(this, foreignKeyConstraint);
175 }
176 }
177 return true;
178 }
override bool Equals([NotNullWhen(true)] object? key2)
bool ColumnsEqual(DataKey key)
Definition DataKey.cs:79

References System.Data.UniqueConstraint._key, System.Data.DataTable._primaryKey, System.Data.DataKey.ColumnsEqual(), System.Data.DataTable.DataSet, System.Data.UniqueConstraint.Equals(), System.Data.ForeignKeyConstraintEnumerator.GetForeignKeyConstraint(), System.Data.ConstraintEnumerator.GetNext(), System.Data.ExceptionBuilder.NeededForForeignKeyConstraint(), System.Data.ForeignKeyConstraint.ParentKey, System.Data.ExceptionBuilder.RemovePrimaryKey(), System.Data.ConstraintCollection.Table, and System.Data.UniqueConstraint.Table.