/// <summary>
        /// Mark an entity as updated.
        /// </summary>
        /// <param name="entity"></param>
        public void Update(object entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            EnsureEntityTypeMapped(entity.GetType());

            string id = IdentityMap.GetIdByEntity(entity);

            if (null == id)
            {
                // New entity
                DocumentManager.MarkInserted(GetEntityInstanceId(entity));
                IdentityMap.AddNewEntity(entity);
            }
            else
            {
                // Update managed entity.
                DocumentManager.MarkUpdated(id);
                IdentityMap.UpdateEntity(id, entity);
            }
        }
 /// <summary>
 /// Clear the context from any loaded and changed entities.
 /// </summary>
 public void Clear()
 {
     IdentityMap.Clear();
     DocumentManager.Clear();
 }