protected override void OnSetUp() { using (var session = OpenSession()) using (var transaction = session.BeginTransaction()) { var child1 = new EntitySimpleChild { Name = "Child1" }; var child2 = new EntitySimpleChild { Name = "Child1" }; var parent = new EntityComplex { Name = "ComplexEnityParent", Child1 = child1, Child2 = child2, LazyProp = "SomeBigValue", SameTypeChild = new EntityComplex() { Name = "ComplexEntityChild" } }; _entityWithCustomEntityName = new EntityCustomEntityName() { Name = "EntityCustomEntityName" }; _entityWithCompositeId = new EntityWithCompositeId { Key = new CompositeKey { Id1 = 1, Id2 = 2 }, Name = "Composite" }; session.Save(child1); session.Save(child2); session.Save(parent.SameTypeChild); session.Save(parent); session.Save(_entityWithCompositeId); session.Save(customEntityName, _entityWithCustomEntityName); session.Flush(); transaction.Commit(); } }
public void EntityJoinForCustomEntityName_Expression() { using (var sqlLog = new SqlLogSpy()) using (var session = OpenSession()) { EntityCustomEntityName ejCustomEntity = null; EntityWithNoAssociation root = null; root = session.QueryOver(() => root) .JoinEntityAlias(() => ejCustomEntity, () => ejCustomEntity.Id == root.CustomEntityNameId, JoinType.InnerJoin, customEntityName) .Take(1) .SingleOrDefault(); ejCustomEntity = (EntityCustomEntityName)session.Load(customEntityName, root.CustomEntityNameId); Assert.That(NHibernateUtil.IsInitialized(ejCustomEntity), Is.True); Assert.That(sqlLog.Appender.GetEvents().Length, Is.EqualTo(1), "Only one SQL select is expected"); } }