Хорошо, вот в чем дело.
У меня есть проект webApi в ASP.NET Core, который ссылается на проект int .NET Framework с nHibernate.
Я хочу разработать некоторые интеграционные тесты, ноЯ не могу понять, как подключить драйвер SQLite.
У меня получилось что-то вроде этого:
Configuration = new NHibernate.Cfg.Configuration();
IDictionary<string, string> properties = new Dictionary<string, string>
{
// Setup database connection
{NHibernate.Cfg.Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider"},
{NHibernate.Cfg.Environment.Dialect, "NHibernate.Dialect.SQLiteDialect"},
{NHibernate.Cfg.Environment.ConnectionDriver, "MilestoneTG.NHibernate.Driver.Sqlite.Microsoft.MicrosoftSqliteDriver, MilestoneTG.NHibernate.Driver.Sqlite.Microsoft"},
{NHibernate.Cfg.Environment.ConnectionString, "Data Source=:memory:;New=True;"},
{NHibernate.Cfg.Environment.Isolation, "ReadCommitted"},
{NHibernate.Cfg.Environment.CurrentSessionContextClass, "call"}
};
Configuration.AddProperties(properties);
Configuration.AddAssembly(typeof(NHibernateConfiguration).Assembly);
var export = new SchemaExport(Configuration);
export.Execute(true, true, false);
SessionFactory = Configuration.BuildSessionFactory();
SchemaExport.Execute () выдает исключение, сообщающее, чтоДиалект SQLite не может иметь дело с DbType.DateTimeOffset.
Естественным выходом из этого было бы использование пользовательского соглашения, но я не могу этого сделать, потому что это ядро asp.net: /
Все отображения хранятся вфайлы hbm.xml.Я не могу изменить конфигурацию nHibernate.Я должен придерживаться ядра asp.net.
Кроме того, только один класс использует DateTimeOffset, и он довольно затратный, но я не могу найти способ импортировать все другие классы, кроме этого.
Есть идеи, как решить эту проблему?