public override TEntity Add(TEntity entity) { var id = EntityOperation.GetSurrogateKey(entity); if (EntityOperation <TEntity> .IsValidSurrogateKey(id)) { var change = default(Change); if (Changes.TryGetValue(id, out change)) { if (change.Entity != entity) { ThrowAttachingMoreThanOneEntityException(); } } else { var nonkeyValues = EntityOperation.NonkeyValues(entity); change = new Change(entity, id, nonkeyValues, ChangeType.Add); Changes.Add(id, change); } } else { AddedEntities.Add(entity); } return(entity); }
public IEntity CreateEntity(string prettyName = "") { ContentEntity added = new ContentEntity(EntityIdGenerator.Next(), prettyName); AddedEntities.Add(added); return(added); }
/// <summary> /// Helper for tests to create snapshots with entities within more collections than just /// AddedEntities. /// </summary> internal IEntity CreateEntity(EntityAddTarget target, string prettyName = "") { ContentEntity added = new ContentEntity(EntityIdGenerator.Next(), prettyName); if (target == EntityAddTarget.Added) { AddedEntities.Add(added); } else if (target == EntityAddTarget.Active) { ActiveEntities.Add(added); } else { RemovedEntities.Add(added); } return(added); }
public override T Add(T entity) { AddedEntities.Add(entity); _contentCollection.Add(entity); return(entity); }