Skip to content

Commit 8074711

Browse files
committed
NH-3222 - Auto-discover types if query requires so
1 parent 3e4fb9f commit 8074711

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

src/NHibernate/Impl/MultiQueryImpl.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,11 @@ protected List<object> DoList()
537537
Loader.Loader.Advance(reader, selection);
538538
}
539539

540+
if (parameter.HasAutoDiscoverScalarTypes)
541+
{
542+
translator.Loader.AutoDiscoverTypes(reader);
543+
}
544+
540545
LockMode[] lockModeArray = translator.Loader.GetLockModes(parameter.LockModes);
541546
EntityKey optionalObjectKey = Loader.Loader.GetOptionalObjectKey(parameter, session);
542547

@@ -631,9 +636,9 @@ private void AggregateQueriesInformation()
631636
int queryIndex = 0;
632637
foreach (AbstractQueryImpl query in queries)
633638
{
639+
query.VerifyParameters();
634640
QueryParameters queryParameters = query.GetQueryParameters();
635641
queryParameters.ValidateParameters();
636-
query.VerifyParameters();
637642
foreach (var translator in query.GetTranslators(session, queryParameters))
638643
{
639644
translators.Add(translator);

src/NHibernate/Loader/Custom/CustomLoader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ public override IList GetResultList(IList results, IResultTransformer resultTran
311311
}
312312
}
313313

314-
protected override void AutoDiscoverTypes(IDataReader rs)
314+
protected internal override void AutoDiscoverTypes(IDataReader rs)
315315
{
316316
MetaData metadata = new MetaData(rs);
317317
List<string> aliases = new List<string>();

src/NHibernate/Loader/Loader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1289,7 +1289,7 @@ protected IDataReader GetResultSet(IDbCommand st, bool autoDiscoverTypes, bool c
12891289
}
12901290
}
12911291

1292-
protected virtual void AutoDiscoverTypes(IDataReader rs)
1292+
protected internal virtual void AutoDiscoverTypes(IDataReader rs)
12931293
{
12941294
throw new AssertionFailure("Auto discover types not supported in this loader");
12951295
}

0 commit comments

Comments
 (0)