public void OneToManyAssociationWithManySideAsOwner() { object id = 0; using (var transaction = Session.BeginTransaction()) { var employee = new Employee { EmployeeNumber = "123456789", }; var skillsEnhancementAllowance = new SkillsEnhancementAllowance { Entitlement = 1000, RemainingEntitlement = 250, Employee = employee }; employee.Benefits.Add(skillsEnhancementAllowance); id = Session.Save(skillsEnhancementAllowance); transaction.Commit(); } Session.Clear(); using (var transaction = Session.BeginTransaction()) { var skillsEnhancementAllowance = Session.Get <SkillsEnhancementAllowance>(id); Assert.That(skillsEnhancementAllowance, Is.Not.Null); if (skillsEnhancementAllowance != null) { Assert.That(skillsEnhancementAllowance.Employee.EmployeeNumber, Is.EqualTo("123456789")); } transaction.Commit(); } }
public void OneToManyAssociationWithOneSideAsOwner() { object id = 0; using (var transaction = Session.BeginTransaction()) { var skillsEnhancementAllowance = new SkillsEnhancementAllowance { Entitlement = 1000, RemainingEntitlement = 250 }; var employee = new Employee { EmployeeNumber = "123456789", Benefits = new HashSet <Benefit> { skillsEnhancementAllowance } }; skillsEnhancementAllowance.Employee = employee; id = Session.Save(employee); transaction.Commit(); } Session.Clear(); using (var transaction = Session.BeginTransaction()) { var employee = Session.Get <Employee>(id); Assert.That(employee.Benefits.Count, Is.EqualTo(1)); var skillsEnhancementAllowance = employee.Benefits.FirstOrDefault(b => b.GetType() == typeof(SkillsEnhancementAllowance)); Assert.That(skillsEnhancementAllowance, Is.Not.Null); if (skillsEnhancementAllowance != null) { Assert.That(skillsEnhancementAllowance.Employee.EmployeeNumber, Is.EqualTo("123456789")); } transaction.Commit(); } }
public void MapsBenefitsForConcreteMapping() { object id = 0; using (var transaction = Session.BeginTransaction()) { var skillsEnhancementAllowance = new SkillsEnhancementAllowance { Entitlement = 1000, RemainingEntitlement = 250 }; var seasonTicketLoan = new SeasonTicketLoan { Amount = 1416, MonthlyInstalment = 118, StartDate = new DateTime(2014, 4, 25), EndDate = new DateTime(2015, 3, 25) }; var leave = new Leave { AvailableEntitlement = 30, RemainingEntitlement = 15, Type = LeaveType.Paid }; var employee = new Employee { EmployeeNumber = "123456789", Benefits = new HashSet <Benefit> { skillsEnhancementAllowance, seasonTicketLoan, leave } }; skillsEnhancementAllowance.Employee = employee; seasonTicketLoan.Employee = employee; leave.Employee = employee; id = Session.Save(employee); transaction.Commit(); } Session.Clear(); using (var transaction = Session.BeginTransaction()) { var employee = Session.Get <Employee>(id); Assert.That(employee.Benefits.Count, Is.EqualTo(3)); var seasonTicketLoan = employee.Benefits.FirstOrDefault(b => b.GetType().GetBaseTypes().Contains(typeof(SeasonTicketLoan))); Assert.That(seasonTicketLoan, Is.Not.Null); if (seasonTicketLoan != null) { Assert.That(seasonTicketLoan.Employee.EmployeeNumber, Is.EqualTo("123456789")); } var skillsEnhancementAllowance = employee.Benefits.FirstOrDefault(b => b.GetType().GetBaseTypes().Contains(typeof(SkillsEnhancementAllowance))); Assert.That(skillsEnhancementAllowance, Is.Not.Null); if (skillsEnhancementAllowance != null) { Assert.That(skillsEnhancementAllowance.Employee.EmployeeNumber, Is.EqualTo("123456789")); } var leave = employee.Benefits.FirstOrDefault(b => b.GetType().GetBaseTypes().Contains(typeof(Leave))); Assert.That(leave, Is.Not.Null); if (leave != null) { Assert.That(leave.Employee.EmployeeNumber, Is.EqualTo("123456789")); } transaction.Commit(); } }