@@ -93,7 +93,7 @@ public void HandleEntityNotFound(string entityName, object id)
93
93
94
94
[ NonSerialized ] private readonly IDictionary classPersistersByName ;
95
95
96
- [ NonSerialized ] private readonly IDictionary classMetadata ;
96
+ [ NonSerialized ] private readonly IDictionary < string , IClassMetadata > classMetadata ;
97
97
98
98
[ NonSerialized ] private readonly Dictionary < string , ICollectionPersister > collectionPersisters ;
99
99
@@ -190,7 +190,7 @@ public SessionFactoryImpl(Configuration cfg, IMapping mapping, Settings settings
190
190
IDictionary caches = new Hashtable ( ) ;
191
191
entityPersisters = new Hashtable ( ) ;
192
192
classPersistersByName = new Hashtable ( ) ;
193
- IDictionary classMeta = new Hashtable ( ) ;
193
+ Dictionary < string , IClassMetadata > classMeta = new Dictionary < string , IClassMetadata > ( ) ;
194
194
195
195
foreach ( PersistentClass model in cfg . ClassMappings )
196
196
{
@@ -220,9 +220,9 @@ public SessionFactoryImpl(Configuration cfg, IMapping mapping, Settings settings
220
220
// Imports provide the ability to jump from the Classname to the AssemblyQualifiedName.
221
221
classPersistersByName [ model . MappedClass . AssemblyQualifiedName ] = cp ;
222
222
223
- classMeta [ model . MappedClass ] = cp . ClassMetadata ;
223
+ classMeta [ model . EntityName ] = cp . ClassMetadata ;
224
224
}
225
- classMetadata = new Hashtable ( classMeta ) ;
225
+ classMetadata = new UnmodifiableDictionary < string , IClassMetadata > ( classMeta ) ;
226
226
Dictionary < string , ISet < string > > tmpEntityToCollectionRoleMap = new Dictionary < string , ISet < string > > ( ) ;
227
227
collectionPersisters = new Dictionary < string , ICollectionPersister > ( ) ;
228
228
foreach ( Mapping . Collection map in cfg . CollectionMappings )
@@ -926,7 +926,14 @@ public string DefaultSchema
926
926
927
927
public IClassMetadata GetClassMetadata ( System . Type persistentClass )
928
928
{
929
- return GetEntityPersister ( persistentClass ) . ClassMetadata ;
929
+ return GetClassMetadata ( persistentClass . FullName ) ;
930
+ }
931
+
932
+ public IClassMetadata GetClassMetadata ( string entityName )
933
+ {
934
+ IClassMetadata result ;
935
+ classMetadata . TryGetValue ( entityName , out result ) ;
936
+ return result ;
930
937
}
931
938
932
939
public ICollectionMetadata GetCollectionMetadata ( string roleName )
@@ -1012,7 +1019,7 @@ public string GetImportedClassName(string className)
1012
1019
}
1013
1020
1014
1021
/// <summary></summary>
1015
- public IDictionary GetAllClassMetadata ( )
1022
+ public IDictionary < string , IClassMetadata > GetAllClassMetadata ( )
1016
1023
{
1017
1024
return classMetadata ;
1018
1025
}
0 commit comments