private ISessionFactory CreateSessionFactory()
{
string host = ConfigReader.ReadSetting("Host");
int port = Int32.Parse(ConfigReader.ReadSetting("Port"));
string db = ConfigReader.ReadSetting("Database");
string user = ConfigReader.ReadSetting("User");
string pass = ConfigReader.ReadSetting("Password");
string connString = string.Format("Server={0};Port={1};Database={2};User Id={3};Password=;SSL=true;SslMode=Require;", host, port, db, user);
log.Info("nhibernate connecting to connstring \"" + connString + "\"");
connString = string.Format("Server={0};Port={1};Database={2};User Id={3};Password={4};SSL=true;SslMode=Require;", host, port, db, user, pass);
try
{
return Fluently.Configure()
.Database(
PostgreSQLConfiguration.PostgreSQL82
.ConnectionString(connString)
)
.Mappings(m =>
m.AutoMappings
.Add(AutoMap.AssemblyOf<RestrictedNumber>(new AutomappingConfiguration())
.Conventions.Add<CascadeConvention>()
.Conventions.Add<TableNameConvention>())
.Add(AutoMap.AssemblyOf<Mappings.Player>(new AutomappingConfiguration())
.IgnoreBase<Mappings.Character>()
.Conventions.Add<CascadeConvention>()
.Conventions.Add<TableNameConvention>())
)
.ExposeConfiguration(TreatConfiguration)
.BuildSessionFactory();
}
catch (Exception e)
{
log.Error(e.Message);
throw;
}
}