public void Check_BiDirectionality_FailedCompany_Remove_FailedCompany_From_Company()
        {
            Company company = CreateFailedCompany(CompanyCreationType.NO_CHILDREN);

            Company mergedCompany;

            using (ITransaction trans = Session.BeginTransaction(IsolationLevel.ReadCommitted))
            {
                // 1. Attach company to session
                mergedCompany = Repository.Merge(company);

                // 2. Remove FailedCompany
                FailedCompany failedCompany = mergedCompany.FailedCompany;
                mergedCompany.FailedCompany = null;

                // Due cascading delete isn't supported for one-to-one relation,
                // see https://nhibernate.jira.com/browse/NH-1262
                FailedCompanyRepository.Delete(failedCompany);

                trans.Commit();
            }

            // 4. Clear session
            Session.Clear();

            // 5. Check Db status
            Company selectedCompany = Repository.GetById(mergedCompany.Id);

            Assert.IsNull(selectedCompany.FailedCompany);
            Assert.IsFalse(selectedCompany.IsFailed);
        }
Ejemplo n.º 2
0
        protected override void OnSetup()
        {
            base.OnSetup();

            Repository = new CompanyRepository(Session);
            FailedCompanyRepository = new FailedCompanyRepository(Session);
        }
        protected override void OnSetup()
        {
            base.OnSetup();

            Repository = new CompanyRepository(Session);
            FailedCompanyRepository = new FailedCompanyRepository(Session);
        }