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()) .ConnectionString(connectionString.ToString()) .ProxyFactoryFactory(typeof(ProxyFactoryFactory)) ) .Mappings(cfg => { //cfg.HbmMappings.AddFromAssemblyOf(); cfg.FluentMappings.AddFromAssemblyOf() .Conventions.Setup(mappings => { mappings.AddAssembly(typeof(Condo).Assembly); mappings.Add(ForeignKey.EndsWith("Id")); }); }).BuildConfiguration(); } } }