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); }
protected override void OnSetup() { base.OnSetup(); Repository = new CompanyRepository(Session); FailedCompanyRepository = new FailedCompanyRepository(Session); }