In this post we are going to discuss about solving Server Error in '/' Application - Duplicate collection role mapping in NHibernate. This is a very common error in NHibernate which happens because two persistent classes with the same unqualified name is specified in your application. This exception will arise if you are attempting to assign two classes to the same name.
The Stack Trace will read like
[DuplicateMappingException: Duplicate collection role mapping ...]
NHibernate.Cfg.Mappings.AddCollection(Collection collection) +157
NHibernate.Cfg.XmlHbmBinding.PropertiesBinder.Bind(IEnumerable`1 properties, Table table, IDictionary`2 inheritedMetas, Action`1 modifier, Action`1 addToModelAction) +486
NHibernate.Cfg.XmlHbmBinding.PropertiesBinder.Bind(IEnumerable`1 properties, IDictionary`2 inheritedMetas, Action`1 modifier) +101
NHibernate.Cfg.XmlHbmBinding.RootClassBinder.Bind(HbmClass classSchema, IDictionary`2 inheritedMetas) +978
NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.AddEntitiesMappings(HbmMapping mappingSchema, IDictionary`2 inheritedMetas) +80
NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.Bind(HbmMapping mappingSchema) +112
NHibernate.Cfg.Configuration.AddDeserializedMapping(HbmMapping mappingDocument, String documentFileName) +204
The solution of this problem is to remove the duplicate enties in your mapping. This problem arises when you mapped your HBM files twice one in Web.Config and also after your configuration.
<!-- HBM Mapping Files -->
<mapping assembly="" />
You can even setup a AutoImport.Never() when configuring your application.
.Mappings(m => m.SomeMappings.Conventions.Setup(a => a.Add(AutoImport.Never())))
Please Like and Share the Blog, if you find it interesting and helpful.
The Stack Trace will read like
[DuplicateMappingException: Duplicate collection role mapping ...]
NHibernate.Cfg.Mappings.AddCollection(Collection collection) +157
NHibernate.Cfg.XmlHbmBinding.PropertiesBinder.Bind(IEnumerable`1 properties, Table table, IDictionary`2 inheritedMetas, Action`1 modifier, Action`1 addToModelAction) +486
NHibernate.Cfg.XmlHbmBinding.PropertiesBinder.Bind(IEnumerable`1 properties, IDictionary`2 inheritedMetas, Action`1 modifier) +101
NHibernate.Cfg.XmlHbmBinding.RootClassBinder.Bind(HbmClass classSchema, IDictionary`2 inheritedMetas) +978
NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.AddEntitiesMappings(HbmMapping mappingSchema, IDictionary`2 inheritedMetas) +80
NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.Bind(HbmMapping mappingSchema) +112
NHibernate.Cfg.Configuration.AddDeserializedMapping(HbmMapping mappingDocument, String documentFileName) +204
The solution of this problem is to remove the duplicate enties in your mapping. This problem arises when you mapped your HBM files twice one in Web.Config and also after your configuration.
<!-- HBM Mapping Files -->
<mapping assembly="" />
You can even setup a AutoImport.Never() when configuring your application.
.Mappings(m => m.SomeMappings.Conventions.Setup(a => a.Add(AutoImport.Never())))
Please Like and Share the Blog, if you find it interesting and helpful.
No comments:
Post a Comment