public EntityEntry SetEntityState <TCollectionBase>(TCollectionBase entity, EntityEntryState state) where TCollectionBase : class { Check.NotNull(entity, nameof(entity)); var entry = GetEntry(entity); if (entry != null) { if (ReferenceEquals(entry.Entity, entity)) { if ((entry.State == EntityEntryState.Added && state == EntityEntryState.Deleted) || state == EntityEntryState.Detached) { entry.State = EntityEntryState.Detached; RemoveEntry <TCollectionBase>(entry); } else { entry.State = state; } } else if (state != EntityEntryState.Detached) { RemoveEntry <TCollectionBase>(entry); entry = new EntityEntry(entity, typeof(TCollectionBase), state); AddEntry <TCollectionBase>(entry); } } else if (state != EntityEntryState.Detached) { entry = new EntityEntry(entity, typeof(TCollectionBase), state); AddEntry <TCollectionBase>(entry); } return(entry); }
/// <summary> /// Creates a new <see cref="EntityEntry{TEntity}"/> with the specified entity and state information. /// </summary> /// <param name="entity"></param> /// <param name="state"></param> public EntityEntry(TEntity entity, EntityEntryState state) { State = state; Entity = entity; if (state == EntityEntryState.NoChanges) { Refresh(); } }
/// <summary> /// Creates a new <see cref="EntityEntry"/> with the specified entity and state information. /// </summary> /// <param name="entity"></param> /// <param name="state"></param> public EntityEntry(object entity, EntityEntryState state) { State = state; Entity = entity; EntityType = entity.GetType(); if (state == EntityEntryState.NoChanges) { OriginalValues = Entity.ToBsonDocument(); } }
public void Update(TEntity entity, EntityEntryState state) { var entry = GetEntry(entity); if (entry != null) { if (entry.Entity.Equals(entity)) { entry.State = state; } else { Entries.Remove(entry); Entries.Add(new EntityEntry <TEntity>(entity, state)); } } else { Entries.Add(new EntityEntry <TEntity>(entity, state)); } }
public void AddEntriesByCallNumber(int callCount, IEnumerable <IEntityEntry> entries, EntityEntryState state = EntityEntryState.Modified) { changedAtCall[callCount - 1] = entries; }
public void AddEntitiesByCallNumber(int callCount, IEnumerable <object> entities, EntityEntryState state = EntityEntryState.Modified) { changedAtCall[callCount - 1] = entities.Select(e => new EntityEntryDouble(e, state)); }
public ContextUtilitiesDouble(IEnumerable <object> changedEntities, EntityEntryState state = EntityEntryState.Modified) { changedAtCall[0] = changedEntities.Select(e => new EntityEntryDouble(e, state)); }
public void Update(EntityBucket <TGroup, TSubEntity> entity, EntityEntryState state) { throw new NotImplementedException(); }
public EntityEntryDouble(object entity, EntityEntryState state) { this.Entity = entity; this.State = state; }
public EntityEntry(EntityEntryState state, IEntity entity) { State = state; Entity = entity; }
public static IEntityEntry AsEntry(this object entity, EntityEntryState state = EntityEntryState.Modified) { return new EntityEntryDouble(entity, state); }
public static IEntityEntry AsEntry(this object entity, EntityEntryState state = EntityEntryState.Modified) { return(new EntityEntryDouble(entity, state)); }
public EntityEntryDouble(object entity, EntityEntryState state) { Entity = entity; State = state; }
/// <summary> /// Creates a new <see cref="EntityEntry"/> with the specified entity, type and state information. /// </summary> /// <param name="entity"></param> /// <param name="entityType"></param> /// <param name="state"></param> public EntityEntry(object entity, Type entityType, EntityEntryState state) : this(entity, state) { EntityType = entityType; }