internal override bool IsIdentical(DataChangeBase other) { return false; }
internal override bool IsIdentical(DataChangeBase other) { if (this.GetType() != other.GetType()) return false; DataChange otherTableChange = (DataChange)other; if (this.table != otherTableChange.table) return false; foreach (DataColumn column in this.table.PrimaryKey) if (!this.originalData[column.Ordinal].Equals(otherTableChange.originalData[column.Ordinal])) return false; return true; }
internal abstract bool IsIdentical(DataChangeBase other);
private void Log(DataChangeBase change) { Debug.Assert(change != null); if (changes.Count == 0 || !changes.Peek().IsIdentical(change)) { Trace.WriteLine("*** logged"); changes.Push(change); } }