/
DAL.cs
41 lines (35 loc) · 1.1 KB
/
DAL.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using FluentNHibernate.Cfg;
using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl;
using NHibernate.Linq;
using NHibernate.Criterion;
using FluentNHibernate.Cfg.Db;
using Entidades;
namespace Dominio
{
public sealed partial class DAL
{
private static readonly Lazy<DAL> instance = new Lazy<DAL>(() => new DAL());
ISessionFactory currentSession;
private DAL()
{
this.currentSession = Fluently.Configure().Database(MsSqlConfiguration.MsSql2008.ConnectionString(C => C.FromConnectionStringWithKey("Conexion")))
.Mappings(M => M.FluentMappings.AddFromAssemblyOf<DAL>())
.ExposeConfiguration(cfg =>
{
BuildSchema(cfg);
})
.BuildSessionFactory();
}
private void BuildSchema(Configuration cfg)
{
new SchemaUpdate(cfg).Execute(false, true);
}
public static DAL Instance { get { return instance.Value; } }
}
}