public void DeleteRelatedRecords()
        {
            // Arrange
            const string SerialNumber = "21938726391232312342";

            Record record;

            using (var session = SessionFactory.OpenSession())
            {
                record = new Record()
                {
                    ReadDatetime = DateTime.Now,
                    SerialNumber = SerialNumber
                };

                session.Save(record);

                var emailSource = new EmailSource()
                {
                    Content = Encoding.UTF8.GetBytes("Content"),
                    Id      = record.Id
                };

                var htmlCounterSource = new ServiceSourceCounters()
                {
                    Content = "Content",
                    Id      = record.Id
                };

                var htmlNumberSource = new ServiceSourceSerialNumber()
                {
                    Content = "Content",
                    Id      = record.Id
                };

                session.Save(htmlCounterSource);
                session.Save(htmlNumberSource);

                session.Flush();
            }

            // Act
            using (var session = SessionFactory.OpenSession())
            {
                session.Delete(record);
                session.Flush();
            }

            // Assert
            using (var session = SessionFactory.OpenSession())
            {
                var rec = session.Get <Record>(record.Id);
                Assert.IsNull(rec);
            }
        }
예제 #2
0
        public void TestFewOperationsInARowWithSameSession()
        {
            var repository = new GenericRepository <ServiceSourceCounters>(SessionFactory.OpenSession());

            var record = new ServiceSourceCounters()
            {
                Content = "ABC"
            };

            repository.Add(record);
            Assert.IsTrue(record.Id > 0);

            var newRecord = repository.FindBy(record.Id);

            Assert.AreEqual(record.Id, newRecord.Id);

            repository.Delete(newRecord);
            newRecord = repository.FindBy(record.Id);
            Assert.IsNull(newRecord);
        }