Skip to content

Commit 4ae86c8

Browse files
NH-4030 - fixing a latent bug in future revealed by previous refactoring.
1 parent 3f4c5ba commit 4ae86c8

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/NHibernate.Test/NHSpecificTest/Futures/FallbackFixture.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,21 @@ public void FutureValueOfLinqCanGetSingleEntityWhenQueryBatchingIsNotSupported()
155155
}
156156
}
157157

158+
[Test]
159+
public void FutureValueWithSelectorOfLinqCanGetSingleEntityWhenQueryBatchingIsNotSupported()
160+
{
161+
var personId = CreatePerson();
162+
163+
using (var session = OpenSession())
164+
{
165+
var futurePerson = session
166+
.Query<Person>()
167+
.Where(x => x.Id == personId)
168+
.ToFutureValue(q => q.FirstOrDefault());
169+
Assert.IsNotNull(futurePerson.Value);
170+
}
171+
}
172+
158173
private int CreatePerson()
159174
{
160175
using (var session = Sfi.OpenSession())

src/NHibernate/Impl/AbstractQueryImpl.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,7 @@ public IEnumerable<T> Future<T>()
886886
{
887887
if (!session.Factory.ConnectionProvider.Driver.SupportsMultipleQueries)
888888
{
889-
return List<T>();
889+
return new DelayedEnumerator<T>(List<T>);
890890
}
891891

892892
session.FutureQueryBatch.Add<T>(this);

0 commit comments

Comments
 (0)