/// <summary>
        /// Raises the <see cref="ColumnChanged" /> event.
        /// </summary>
        /// <param name="column">The <see cref="EvlUserColumn"/> which has raised the event.</param>
        /// <param name="value">The changed value.</param>
        public virtual void OnColumnChanged(EvlUserColumn column, object value)
        {
            if (!SuppressEntityEvents)
            {
                EvlUserEventHandler handler = ColumnChanged;
                if (handler != null)
                {
                    handler(this, new EvlUserEventArgs(column, value));
                }

                // warn the parent list that i have changed
                OnEntityChanged();
            }
        }
        /// <summary>
        /// Raises the <see cref="ColumnChanging" /> event.
        /// </summary>
        /// <param name="column">The <see cref="EvlUserColumn"/> which has raised the event.</param>
        /// <param name="value">The changed value.</param>
        public virtual void OnColumnChanging(EvlUserColumn column, object value)
        {
            if (IsEntityTracked && EntityState != EntityState.Added && !EntityManager.TrackChangedEntities)
            {
                EntityManager.StopTracking(entityTrackingKey);
            }

            if (!SuppressEntityEvents)
            {
                EvlUserEventHandler handler = ColumnChanging;
                if (handler != null)
                {
                    handler(this, new EvlUserEventArgs(column, value));
                }
            }
        }