Example #1
0
        public async Task DeleteAsync(TEntity entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }

            var isDetached = !_db.Set <TEntity>().Local.Any(a => a.Id == entity.Id);

            if (isDetached)
            {
                _db.Entry(entity).State = EntityState.Modified;
            }
            _db.Set <TEntity>().Remove(entity);
            await _db.SaveChangesAsync();
        }