Hi, I have troubles with NHibernate configuration.
Code shown below results with exception
Code:
System.InvalidOperationException: Could not find the dialect in the configuration
at NHibernate.Dialect.Dialect.GetDialect(IDictionary`2 props)
at NHibernate.Cfg.SettingsFactory.BuildSettings(IDictionary`2 properties)
at NHibernate.Cfg.Configuration.BuildSettings()
at NHibernate.Cfg.Configuration.BuildSessionFactory()
at DataLayer.Tests.FixtureBase.Before_each_test() in FixtureBase.cs: line 35
at DataLayer.Tests.FixtureBase.SetupContext() in FixtureBase.cs: line 19
Code:
17: Configuration cfg = new Configuration();
18: cfg.AddAssembly("DataLayer");
19: ISessionFactory factory = cfg.BuildSessionFactory();
20: ISession session = factory.OpenSession();
When I specify Dialect via cfg.Properties.Add(...) NHibernate throws new exception
Code:
NHibernate.HibernateException: The connection.driver_class must be specified in the NHibernate configuration section.
at NHibernate.Connection.ConnectionProvider.ConfigureDriver(IDictionary`2 settings)
at NHibernate.Connection.UserSuppliedConnectionProvider.Configure(IDictionary`2 settings)
at NHibernate.Connection.ConnectionProviderFactory.NewConnectionProvider(IDictionary`2 settings)
at NHibernate.Cfg.SettingsFactory.BuildSettings(IDictionary`2 properties)
at NHibernate.Cfg.Configuration.BuildSettings()
at NHibernate.Cfg.Configuration.BuildSessionFactory()
at DataLayer.Tests.FixtureBase.Before_each_test() in FixtureBase.cs: line 35
at DataLayer.Tests.FixtureBase.SetupContext() in FixtureBase.cs: line 19
Sources for this exception:
Code:
16: Configuration cfg = new Configuration();
17: cfg.AddAssembly("DataLayer");
18: cfg.Properties.Add(Environment.Dialect, "NHibernate.Dialect.SQLiteDialect");
19: ISessionFactory factory = cfg.BuildSessionFactory();
20: ISession session = factory.OpenSession();
Hibernate version: 2.0.0GA
hibernate.cfg.xml (Copy to output directory: Copy always):Code:
<?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="dialect">NHibernate.Dialect.SQLiteDialect</property>
<property name="connection.driver_class">NHibernate.Driver.SQLite20Driver</property>
<property name="connection.connection_string">Data Source=:memory:;Version=3;New=True;</property>
<property name="connection.release_mode">on_close</property>
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
SQLite version: 1.0.58.0