private void FixupOrders(Orders previousValue) { if (IsDeserializing) { return; } if (previousValue != null && previousValue.Order_Details.Contains(this)) { previousValue.Order_Details.Remove(this); } if (Orders != null) { if (!Orders.Order_Details.Contains(this)) { Orders.Order_Details.Add(this); } OrderID = Orders.OrderID; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("Orders") && (ChangeTracker.OriginalValues["Orders"] == Orders)) { ChangeTracker.OriginalValues.Remove("Orders"); } else { ChangeTracker.RecordOriginalValue("Orders", previousValue); } if (Orders != null && !Orders.ChangeTracker.ChangeTrackingEnabled) { Orders.StartTracking(); } } }