@@ -35,7 +35,10 @@ public UnionSubclassEntityPersister(PersistentClass persistentClass, ICacheConcu
3535
3636 // TABLE
3737
38- tableName = persistentClass . Table . GetQualifiedName ( factory . Dialect , factory . Settings . DefaultCatalogName , factory . Settings . DefaultSchemaName ) ;
38+ var dialect = factory . Dialect ;
39+ var defaultCatalogName = factory . Settings . DefaultCatalogName ;
40+ var defaultSchemaName = factory . Settings . DefaultSchemaName ;
41+ tableName = persistentClass . Table . GetQualifiedName ( dialect , defaultCatalogName , defaultSchemaName ) ;
3942
4043 #region Custom SQL
4144
@@ -116,7 +119,7 @@ public UnionSubclassEntityPersister(PersistentClass persistentClass, ICacheConcu
116119
117120 subclassSpaces = persistentClass . SubclassTableClosureIterator
118121 . Select ( table =>
119- table . GetQualifiedName ( factory . Dialect , factory . Settings . DefaultCatalogName , factory . Settings . DefaultSchemaName ) )
122+ table . GetQualifiedName ( dialect , defaultCatalogName , defaultSchemaName ) )
120123 . Distinct ( ) . ToArray ( ) ;
121124
122125 subquery = GenerateSubquery ( persistentClass , mapping ) ;
@@ -135,11 +138,11 @@ public UnionSubclassEntityPersister(PersistentClass persistentClass, ICacheConcu
135138 if ( ! tab . IsAbstractUnionTable )
136139 {
137140 string _tableName =
138- tab . GetQualifiedName ( factory . Dialect , factory . Settings . DefaultCatalogName , factory . Settings . DefaultSchemaName ) ;
141+ tab . GetQualifiedName ( dialect , defaultCatalogName , defaultSchemaName ) ;
139142 tableNames . Add ( _tableName ) ;
140143
141144 var names = tab . PrimaryKey . ColumnIterator
142- . Select ( column => column . GetQuotedName ( factory . Dialect ) )
145+ . Select ( column => column . GetQuotedName ( dialect ) )
143146 . ToArray ( ) ;
144147
145148 keyColumns . Add ( names ) ;
@@ -301,23 +304,17 @@ protected override int TableSpan
301304
302305 protected string GenerateSubquery ( PersistentClass model , IMapping mapping )
303306 {
304- Dialect . Dialect dialect = Factory . Dialect ;
305- Settings settings = Factory . Settings ;
307+ var dialect = Factory . Dialect ;
308+ var settings = Factory . Settings ;
306309
307310 if ( ! model . HasSubclasses )
308311 {
309312 return model . Table . GetQualifiedName ( dialect , settings . DefaultCatalogName , settings . DefaultSchemaName ) ;
310313 }
311314
312- var columns = new HashSet < Column > ( ) ;
313- foreach ( Table table in model . SubclassTableClosureIterator )
314- {
315- if ( ! table . IsAbstractUnionTable )
316- {
317- foreach ( Column column in table . ColumnIterator )
318- columns . Add ( column ) ;
319- }
320- }
315+ var columns = new HashSet < Column > ( model . SubclassTableClosureIterator
316+ . Where ( table => ! table . IsAbstractUnionTable )
317+ . SelectMany ( table => table . ColumnIterator ) ) ;
321318
322319 var buf = new StringBuilder ( "( " ) ;
323320
0 commit comments