-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFluentNhibernateHelper.cs
45 lines (41 loc) · 1.33 KB
/
FluentNhibernateHelper.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
42
43
44
45
using FluentNHibernate.Cfg;
using FluentNHibernate.Cfg.Db;
using InheritanceMapping;
using NHibernate;
using NHibernate.Tool.hbm2ddl;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//using TablePerType;
namespace InheritanceMapping3
{
public class FluentNHibernateHelper
{
private static ISessionFactory _sessionFactory;
private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
CreatSessionFactory();
return _sessionFactory;
}
}
public static ISessionFactory CreatSessionFactory()
{
string ConnectionString = "Data Source=H-MORADI;Initial Catalog=Sale;User ID=sa;Password=sa123";
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2012.ConnectionString(ConnectionString).ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Program>())
.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))
.BuildSessionFactory();
return _sessionFactory;
}
public static ISession OpenSesseion()
{
return SessionFactory.OpenSession();
}
}
}