/// <summary> /// Add new entity to the identity map. /// </summary> /// <param name="entity"></param> public void AddNewEntity(object entity) { string id = CouchDBContextImpl.GetEntityInstanceId(entity); idToEntity.Add(id, entity); entityToId.Add(entity, id); }
protected override bool RemoveInternal(T item) { MaterializeModifiedCollection(); string id = CouchDBContextImpl.GetEntityInstanceId(item); return(modifiedCollection.Remove(id)); }
protected override void AddInternal(T item) { MaterializeModifiedCollection(); string id = CouchDBContextImpl.GetEntityInstanceId(item); modifiedCollection.Add(id); }
// Note: We use explicit implementation because object itself has // Equals(object x, object y) method. bool IEqualityComparer <object> .Equals(object x, object y) { string xid = CouchDBContextImpl.GetEntityInstanceId(x); string yid = CouchDBContextImpl.GetEntityInstanceId(y); bool equals = object.Equals(xid, yid); return(equals); }
int IEqualityComparer <object> .GetHashCode(object obj) { string entityId = CouchDBContextImpl.GetEntityInstanceId(obj); return(entityId.GetHashCode()); }