Я использую Nhibernate (Fluent) с Sqlite, и он работал без проблем, что я сделал:
Все классы сущностей наследуются от BusinessObject, который содержит свойство ID и простые функции CRUD.
У меня есть также другие 6 классов сущностей
Создайте сопоставления с FluentHibernate следующим образом:
using Database.Entitites;
using FluentNHibernate.Mapping;
namespace Database.Mappings
{
public class tbl_ManufactorMap : ClassMap<tbl_Manufactor>
{
public tbl_ManufactorMap()
{
Id(x => x.ID);
Map(x => x.Name);
}
}
}
Создайте конфигурацию Fluent следующим образом:
var Config = Fluently.Configure()
.Database(SQLiteConfiguration.Standard
.ConnectionString(c=>c.FromConnectionStringWithKey("dbconnection"))
.ShowSql())
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<tbl_Manufactor>())
.ExposeConfiguration(cfg => _configuration = cfg)
sessionFactory = Config.BuildSessionFactory();
Выполните SchemaExport для создания схемы с:
new SchemaExport(_configuration)
.Create(false, true);
Затем Nhibernate создал полностью работающую базу данных SQlite с правильными таблицами!
Но потом я хотел добавить 2 класса сущностей (я сделал это так же, как и раньше), но когда я запускаю свой тест (который создал мою первую схему базы данных), он не добавляет новые классы (таблицы) в базу !
Самое безумное, что тест всегда удаляет любую созданную базу данных и воссоздает ее при помощи SchemaExport каждый раз, когда я запускаю тест.
Может ли кто-нибудь мне помочь?