Пример #1
0
        /// <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);
        }
Пример #2
0
        protected override bool RemoveInternal(T item)
        {
            MaterializeModifiedCollection();
            string id = CouchDBContextImpl.GetEntityInstanceId(item);

            return(modifiedCollection.Remove(id));
        }
Пример #3
0
        protected override void AddInternal(T item)
        {
            MaterializeModifiedCollection();
            string id = CouchDBContextImpl.GetEntityInstanceId(item);

            modifiedCollection.Add(id);
        }
Пример #4
0
            // 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);
            }
Пример #5
0
            int IEqualityComparer <object> .GetHashCode(object obj)
            {
                string entityId = CouchDBContextImpl.GetEntityInstanceId(obj);

                return(entityId.GetHashCode());
            }