Skip to content

Commit a014f6a

Browse files
Added non regression test case for Any/All subqueries.
1 parent a016e77 commit a014f6a

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
using System;
2+
using System.Collections.Generic;
23

34
namespace NHibernate.Test.NHSpecificTest.NH3951
45
{
56
class Entity
67
{
78
public virtual Guid Id { get; set; }
89
public virtual string Name { get; set; }
10+
public virtual Guid? RelatedId { get; set; }
11+
12+
public virtual ISet<Entity> Related { get; set; }
913
}
1014
}

src/NHibernate.Test/NHSpecificTest/NH3951/Fixture.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,5 +86,20 @@ public void AllNamedWithAtLeast3CharWorkaround()
8686
Assert.AreEqual(true, result);
8787
}
8888
}
89+
90+
[Test]
91+
public void AnyAndAllInSubQueries()
92+
{
93+
using (ISession session = OpenSession())
94+
using (session.BeginTransaction())
95+
{
96+
var result = session.Query<Entity>()
97+
.Select(e => new { e.Id, hasRelated = e.Related.Any(), allBobRelated = e.Related.All(r => r.Name == "Bob") })
98+
.ToList();
99+
100+
Assert.AreEqual(false, result[0].hasRelated);
101+
Assert.AreEqual(true, result[0].allBobRelated);
102+
}
103+
}
89104
}
90105
}

src/NHibernate.Test/NHSpecificTest/NH3951/Mappings.hbm.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
<class name="Entity">
55
<id name="Id" generator="guid.comb" />
66
<property name="Name" />
7+
<property name="RelatedId" />
8+
<set name="Related">
9+
<key column="RelatedId"/>
10+
<one-to-many class="Entity" />
11+
</set>
712
</class>
813

914
</hibernate-mapping>

0 commit comments

Comments
 (0)