I'm having issues running my application where it uses NHibernate. The runtime issue I'm getting is:
The element 'session-factory' in namespace 'urn:nhibernate-configuration-2.2' has invalid child element 'add' in namespace 'urn:nhibernate-configuration-2.2'. List of possible elements expected: 'property, mapping, class-cache, collection-cache, event, listener' in namespace 'urn:nhibernate-configuration-2.2'.
My code is:
protected void Initialization(Assembly[] assemblies, string fileName)
{
logger.DebugFormat( @"Initialization Start {0:HH:mm:ss.fff}", DateTime.Now );
SessionFactory = Fluently
.Configure(
new Configuration()
.Configure( fileName )
)
.Mappings( x => assemblies
.ForEach( a => x
.FluentMappings
.AddFromAssembly( a )
.Conventions
.Add(
AutoImport.Never(),
DefaultCascade.All(),
DefaultLazy.Always(),
ForeignKey.EndsWith( "Id" ),
PrimaryKey.Name.Is( c => c.EntityType.Name + "Id" ),
Table.Is( c => "[" + c.EntityType.Name + "]" )
)
)
)
.BuildSessionFactory();
logger.DebugFormat( @"Initialization Finish {0:HH:mm:ss.fff}", DateTime.Now );
}
I already installed Full-Text and Semantic Extractions for Search, but it didn't fix my issue.
Contents of the filename:
<?xml version='1.0' encoding='utf-8'?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<add name="CoreDbContext" connectionString="Data Source=(localdb)\\mssqllocaldb;Initial Catalog=Database_name;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
</session-factory>
</hibernate-configuration>
connectionstring is configured like the other properties
<?xml version='1.0' encoding='utf-8'?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Data Source=(localdb)\\mssqllocaldb;Initial Catalog=Database_name;Integrated Security=True;MultipleActiveResultSets=True</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
</session-factory>
</hibernate-configuration>