Tuesday, May 31, 2016

Code Snippet: Set default database schema in Nhibernate SessionFactory

1:  //Setup oracle database connection and connection pool  
2:    public class OracleConnectionManager  
3:    {  
4:      private static string _userName;  
5:      private static string _password;  
6:    
7:      public OracleConnectionManager(string userName, string password)  
8:      {  
9:        _userName = userName;  
10:        _password = password;  
11:      }  
12:    
13:      private static ISessionFactory _sessionFactory;  
14:      private static ISessionFactory SessionFactory { get  
15:        {  
16:          if(_sessionFactory == null)  
17:          {  
18:            var connectionString = DatabaseConnections.GetOracleConnectionsString(_userName,_password);  
19:              
20:            //Nhibernate Oracle database configuration  
21:            var configuration = new Configuration();  
22:            configuration.DataBaseIntegration(db =>  
23:            {  
24:              db.ConnectionProvider<NHibernate.Connection.DriverConnectionProvider>();  
25:              db.Dialect<NHibernate.Dialect.Oracle10gDialect>();  
26:              db.Driver<NHibernate.Driver.OracleDataClientDriver>();  
27:              db.ConnectionString = connectionString;  
28:             });  
29:    
30:            // Setup default schema  
31:            configuration.SetProperty(Environment.DefaultSchema, "DB_SCHEMA_NAME");  32:              
33:            //Mapped Object Relation DB using assembly(one assembly per namespace)  
34:            configuration.AddAssembly(typeof (AssemblyName).Assembly);  
35:    
36:            _sessionFactory = configuration.BuildSessionFactory();  
37:          }  
38:          return _sessionFactory;  
39:        }  
40:      }  
41:    
42:      public ISession OpenOracleSession()  
43:      {  
44:        return SessionFactory.OpenSession();  
45:      }  
46:    
47:    }  
Ref

C# , Nhibernate

0 comments :

Post a Comment

 

© 2011 GIS and Remote Sensing Tools, Tips and more .. ToS | Privacy Policy | Sitemap

About Me