/// <summary>
        /// Load this object from the database.
        /// </summary>
        /// <remarks></remarks>
        public virtual void Load()
        {
            EnterpriseLibraryDataObjectBase retrieved = Retrieve(this.ID);

            if (retrieved == null)
            {
                this.ID = retrieved.ID;
            }
        }
        /// <summary>
        /// Save this object to the database.
        /// </summary>
        /// <remarks></remarks>
        public virtual void Save()
        {
            EnterpriseLibraryDataObjectBase retrieved = Retrieve(this.ID);

            if (retrieved == null)
            {
                this.ID = Create();
            }
            else
            {
                Update(this);
            }
        }
 protected abstract void Update(EnterpriseLibraryDataObjectBase item);