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

◆ RejectChanges()

void System.Data.DataRow.RejectChanges ( )
inline

Definition at line 1012 of file DataRow.cs.

1013 {
1014 long scopeId = DataCommonEventSource.Log.EnterScope("<ds.DataRow.RejectChanges|API> {0}", _objectID);
1015 try
1016 {
1017 if (RowState != DataRowState.Detached)
1018 {
1020 {
1022 foreach (DataColumn dataColumn in columnsImplementingIChangeTracking)
1023 {
1024 if (!dataColumn.ImplementsIRevertibleChangeTracking)
1025 {
1026 object obj = null;
1027 obj = ((RowState == DataRowState.Deleted) ? this[dataColumn, DataRowVersion.Original] : this[dataColumn]);
1028 if (DBNull.Value != obj && ((IChangeTracking)obj).IsChanged)
1029 {
1030 throw ExceptionBuilder.UDTImplementsIChangeTrackingButnotIRevertible(dataColumn.DataType.AssemblyQualifiedName);
1031 }
1032 }
1033 }
1034 }
1036 foreach (DataColumn column in columnsImplementingIChangeTracking2)
1037 {
1038 object obj2 = null;
1039 obj2 = ((RowState == DataRowState.Deleted) ? this[column, DataRowVersion.Original] : this[column]);
1040 if (DBNull.Value != obj2)
1041 {
1043 if (changeTracking.IsChanged)
1044 {
1045 ((IRevertibleChangeTracking)obj2).RejectChanges();
1046 }
1047 }
1048 }
1049 }
1050 _table.RollbackRow(this);
1051 }
1052 finally
1053 {
1054 DataCommonEventSource.Log.ExitScope(scopeId);
1055 }
1056 }
readonly DataColumnCollection _columns
Definition DataRow.cs:14
DataRowState RowState
Definition DataRow.cs:134
readonly int _objectID
Definition DataRow.cs:44
readonly DataTable _table
Definition DataRow.cs:12
void RollbackRow(DataRow row)

References System.Data.DataRow._columns, System.Data.DataRow._objectID, System.Data.DataRow._table, System.Data.DataColumnCollection.ColumnsImplementingIChangeTracking, System.Data.DataColumnCollection.ColumnsImplementingIChangeTrackingCount, System.Data.DataColumnCollection.ColumnsImplementingIRevertibleChangeTrackingCount, System.Xml.Dictionary, System.Data.DataCommonEventSource.Log, System.obj, System.Data.DataTable.RollbackRow(), System.Data.DataRow.RowState, System.Data.ExceptionBuilder.UDTImplementsIChangeTrackingButnotIRevertible(), and System.DBNull.Value.

Referenced by System.Data.ForeignKeyConstraint.CascadeRollback().