public void Add <TEntity>(TEntity entity) where TEntity : class, IKeyIdentity <TKey> { ICollection <TEntity> entityCollection = (ICollection <TEntity>)GetCollection(typeof(TEntity)); if (GenerateId) { entity.Id = DbContextUtility.GenerateNewKey(); } entityCollection.Add(entity); }