/// <summary> /// Starts Tracking an Entity, it will be tracked until modified or persisted. /// </summary> /// <param name="key">Entity Key used in the Locator's Bucket</param> /// <param name="entity">entity to be tracked</param> /// <param name="isTrackingEnabled">Determines whether tracking is enabled</param> public static void StartTracking(string key, IEntity entity, bool isTrackingEnabled) { if (key == null) { throw new ArgumentNullException("key"); } if (entity == null) { throw new ArgumentNullException("entity"); } if (!entity.IsEntityTracked && isTrackingEnabled) { EntityLocator.Add(key, entity); entity.IsEntityTracked = true; entity.EntityTrackingKey = key; } return; }