Я использую SQLite в качестве базы данных во время разработки и хочу отложить создание окончательной базы данных до полного сопоставления моих доменов. Итак, у меня есть это в моем файле Global.asax.cs:
private void InitializeNHibernateSession()
{
Configuration cfg = NHibernateSession.Init(
webSessionStorage,
new [] { Server.MapPath("~/bin/MyNamespace.Data.dll") },
new AutoPersistenceModelGenerator().Generate(),
Server.MapPath("~/NHibernate.config"));
if (ConfigurationManager.AppSettings["DbGen"] == "true")
{
var export = new SchemaExport(cfg);
export.Execute(true, true, false, NHibernateSession.Current.Connection, File.CreateText(@"DDL.sql"));
}
}
AutoPersistenceModelGenerator подключает различные соглашения, включая TableNameConvention, например:
public void Apply(FluentNHibernate.Conventions.Instances.IClassInstance instance)
{
instance.Table(Inflector.Net.Inflector.Pluralize(instance.EntityType.Name));
}
Это хорошо работает, за исключением того, что сгенерированная база данных sqlite не имеет имен таблиц во множественном числе.
Есть идеи, что мне не хватает?
Спасибо.