public void DeleteByGuidId_WhenItemExists_ItemIsDeletedFromAllTables()
        {
            var id = new Guid("35F3060A-DE6F-4BED-BFB9-D523EA98C49E");
            var item = new SimpleGuidItem { Id = id, Key = "A" };

            using (var unitOfWork = Database.CreateUnitOfWork())
            {
                unitOfWork.Insert(item);
                unitOfWork.Commit();
            }

            using (var unitOfWork = Database.CreateUnitOfWork())
            {
                unitOfWork.DeleteById<SimpleGuidItem>(id);
                unitOfWork.Commit();
            }

            var structureTable = GetStructureTableName<SimpleGuidItem>();
            var structureRowCount = DbHelper.RowCount(structureTable, "Id = '{0}'".Inject(id));
            Assert.AreEqual(0, structureRowCount);

            var indexesTable = GetIndexesTableName<SimpleGuidItem>();
            var indexesRowCount = DbHelper.RowCount(indexesTable, "StructureId = '{0}'".Inject(id));
            Assert.AreEqual(0, indexesRowCount);

            var uniquesTable = GetUniquesTableName<SimpleGuidItem>();
            var uniquesRowCount = DbHelper.RowCount(uniquesTable, "StructureId = '{0}'".Inject(id));
            Assert.AreEqual(0, uniquesRowCount);
        }
        public void DeleteByGuidId_WhenItemExists_ReturnsTrue()
        {
            bool wasDeleted;
            using (var unitOfWork = Database.CreateUnitOfWork())
            {
                var item = new SimpleGuidItem { Key = "A" };
                unitOfWork.Insert(item);
                unitOfWork.Commit();

                wasDeleted = unitOfWork.DeleteById<SimpleGuidItem>(item.Id);
                unitOfWork.Commit();
            }

            Assert.IsTrue(wasDeleted);
        }