public void Add(Guid key, EntityBase value)
 {
     if (this.entities.ContainsKey(key))
         this.entities[key] = value;
     else
         this.entities.Add(key, value);
 }
 protected override void Update(EntityBase entity)
 {
     throw new NotSupportedException();
 }
 protected virtual void OnLoad(Guid id, EntityBase entity)
 {
 }
 protected abstract void Update(EntityBase entity);
 protected abstract void Insert(EntityBase entity);
 protected abstract void Delete(EntityBase entity);
 void IMapper.Update(EntityBase entity)
 {
     this.Update(entity);
 }
 void IMapper.Insert(EntityBase entity)
 {
     this.Insert(entity);
 }
 void IMapper.Delete(EntityBase entity)
 {
     this.Delete(entity);
 }