Skip to content

Commit 6802fb3

Browse files
committed
Merge pull request #318 from rjperes/NH-3575
NH-3575
2 parents 4ec16a2 + 9b97132 commit 6802fb3

File tree

5 files changed

+61
-2
lines changed

5 files changed

+61
-2
lines changed

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Linq;
12
using NHibernate.Criterion;
23
using NHibernate.Impl;
34
using NUnit.Framework;
@@ -7,6 +8,20 @@ namespace NHibernate.Test.NHSpecificTest.Futures
78
[TestFixture]
89
public class FutureCriteriaFixture : FutureFixture
910
{
11+
[Test]
12+
public void DefaultReadOnlyTest()
13+
{
14+
//NH-3575
15+
using (var s = sessions.OpenSession())
16+
{
17+
s.DefaultReadOnly = true;
18+
19+
var persons = s.CreateCriteria(typeof(Person)).Future<Person>();
20+
21+
Assert.IsTrue(persons.All(p => s.IsReadOnly(p)));
22+
}
23+
}
24+
1025
[Test]
1126
public void CanUseFutureCriteria()
1227
{

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

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using NHibernate.Driver;
1+
using System.Linq;
2+
using NHibernate.Driver;
23
using NHibernate.Impl;
34
using NUnit.Framework;
45

@@ -9,6 +10,20 @@ namespace NHibernate.Test.NHSpecificTest.Futures
910
[TestFixture]
1011
public class FutureQueryFixture : FutureFixture
1112
{
13+
[Test]
14+
public void DefaultReadOnlyTest()
15+
{
16+
//NH-3575
17+
using (var s = sessions.OpenSession())
18+
{
19+
s.DefaultReadOnly = true;
20+
21+
var persons = s.CreateQuery("from Person").Future<Person>();
22+
23+
Assert.IsTrue(persons.All(p => s.IsReadOnly(p)));
24+
}
25+
}
26+
1227
[Test]
1328
public void CanUseFutureQuery()
1429
{

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Linq;
12
using NHibernate.Criterion;
23
using NHibernate.Impl;
34
using NUnit.Framework;
@@ -30,6 +31,20 @@ protected override void OnTearDown()
3031
}
3132
}
3233

34+
[Test]
35+
public void DefaultReadOnlyTest()
36+
{
37+
//NH-3575
38+
using (var s = sessions.OpenSession())
39+
{
40+
s.DefaultReadOnly = true;
41+
42+
var persons = s.QueryOver<Person>().Future<Person>();
43+
44+
Assert.IsTrue(persons.All(p => s.IsReadOnly(p)));
45+
}
46+
}
47+
3348
[Test]
3449
public void CanUseFutureCriteria()
3550
{

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,20 @@ namespace NHibernate.Test.NHSpecificTest.Futures
88
[TestFixture]
99
public class LinqFutureFixture : FutureFixture
1010
{
11+
[Test]
12+
public void DefaultReadOnlyTest()
13+
{
14+
//NH-3575
15+
using (var s = sessions.OpenSession())
16+
{
17+
s.DefaultReadOnly = true;
18+
19+
var persons = s.Query<Person>().ToFuture();
20+
21+
Assert.IsTrue(persons.All(p => s.IsReadOnly(p)));
22+
}
23+
}
24+
1125
[Test]
1226
public void CoalesceShouldWorkForFutures()
1327
{

src/NHibernate/Impl/MultiCriteriaImpl.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ private void GetResultsFromDatabase(IList results)
247247
for (int i = 0; i < loaders.Count; i++)
248248
{
249249
CriteriaLoader loader = loaders[i];
250-
loader.InitializeEntitiesAndCollections(hydratedObjects[i], reader, session, false);
250+
loader.InitializeEntitiesAndCollections(hydratedObjects[i], reader, session, session.DefaultReadOnly);
251251

252252
if (createSubselects[i])
253253
{

0 commit comments

Comments
 (0)