54 lines
1.9 KiB
C#
54 lines
1.9 KiB
C#
using System.Configuration;
|
|
using FluentNHibernate.Cfg;
|
|
using FluentNHibernate.Cfg.Db;
|
|
using FluentNHibernate.Conventions.Helpers;
|
|
using NHibernate.Cache;
|
|
using NHibernate.ByteCode.LinFu;
|
|
using Taloyhtio.GeneralApi.Core.Entities;
|
|
using Configuration = NHibernate.Cfg.Configuration;
|
|
|
|
namespace GeneralApi.Core.Infrastructure.DataAccess
|
|
{
|
|
public class NHConfiguration
|
|
{
|
|
public static Configuration Configure()
|
|
{
|
|
return build();
|
|
}
|
|
|
|
private static Configuration build(/*string configurationFile*/)
|
|
{
|
|
var connectionString =
|
|
ConfigurationManager.ConnectionStrings["Taloyhtio.GeneralApi.MasterDB"];
|
|
|
|
// var configuration = new Configuration();
|
|
//
|
|
// if (string.IsNullOrEmpty(configurationFile))
|
|
// configuration.Configure();
|
|
// else
|
|
// configuration.Configure(configurationFile);
|
|
|
|
return Fluently.Configure()
|
|
.Database(
|
|
MsSqlConfiguration.MsSql2000
|
|
.Cache(c => c
|
|
.UseQueryCache()
|
|
.UseMinimalPuts()
|
|
.ProviderClass<HashtableCacheProvider>())
|
|
.ConnectionString(connectionString.ToString())
|
|
.ProxyFactoryFactory(typeof(ProxyFactoryFactory))
|
|
)
|
|
.Mappings(cfg =>
|
|
{
|
|
//cfg.HbmMappings.AddFromAssemblyOf<UserMap>();
|
|
cfg.FluentMappings.AddFromAssemblyOf<Condo>()
|
|
.Conventions.Setup(mappings =>
|
|
{
|
|
mappings.AddAssembly(typeof(Condo).Assembly);
|
|
mappings.Add(ForeignKey.EndsWith("Id"));
|
|
});
|
|
}).BuildConfiguration();
|
|
}
|
|
}
|
|
}
|