コード例 #1
0
        public void Remove <T>([NotNull] T entity, [NotNull] string tagName)
            where T : class, IEntity
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            using (var transaction = _unitOfWork.BeginTransaction())
            {
                var tag = _tagProvider.Get(tagName);

                _tagEntityProvider.Remove(entity, tag);

                var entityLinkExists = _tagEntityProvider.Exists(tag);

                if (!entityLinkExists)
                {
                    _tagProvider.Remove(tag);
                }

                transaction.Commit();
            }
        }