public static Configuration AddConfiguration(string factoryKey, string[] mappingAssemblies, string cfgFile, IDictionary <string, string> cfgProperties, string validatorCfgFile) { Configuration config; var configCache = NHibernateSession.ConfigurationCache; if (configCache != null) { config = configCache.LoadConfiguration(factoryKey, cfgFile, mappingAssemblies); if (config != null) { var sessionFactory = config.BuildSessionFactory(); SessionFactories.Add(factoryKey, sessionFactory); return(NHibernateSession.AddConfiguration(factoryKey, sessionFactory, config, validatorCfgFile)); } } config = AddConfiguration(factoryKey, mappingAssemblies, ConfigureNHibernate(cfgFile, cfgProperties), validatorCfgFile); if (configCache != null) { configCache.SaveConfiguration(factoryKey, config); } return(config); }
public static Configuration AddConfiguration(string factoryKey, string[] mappingAssemblies, Configuration cfg, string validatorCfgFile) { var sessionFactory = CreateSessionFactoryFor(mappingAssemblies, cfg); Check.Require( !SessionFactories.ContainsKey(factoryKey), "A session factory has already been configured with the key of " + factoryKey); SessionFactories.Add(factoryKey, sessionFactory); return(NHibernateSession.AddConfiguration(factoryKey, sessionFactory, cfg, validatorCfgFile)); }
static void Main(string[] args) { SessionFactories.Register <MySqlSessionFactory>(); string sql01 = "select * from Person where Id = ? and Name = ?"; string sql02 = "select * from Person where Id = ? and Name = ?;"; var parts01 = sql01.Split('?'); var parts02 = sql02.Split('?'); var person = new Person(); person.Name = "test"; person.Money = 100; person.CreateTime = DateTime.Now; person.IsActive = false; Stopwatch watch = new Stopwatch(); for (int i = 0; i < 10; i++) { watch.Start(); var handler = DynamicHelper.CreateDynamicPropertySetHandler(person.GetType().GetProperty("Age")); handler(person, 20); var proxy = EntityProxyGenerator.CreateProxy <Person>(person); watch.Stop(); Console.WriteLine(watch.Elapsed); watch.Reset(); } // using (ISession session = SessionFactory.CreateDefaultSession()) // { // int i = session.Insert(person); // // Console.WriteLine(SqlCmd.Current.Sql); // // int id = session.GetIndentifer<int>(); // } Console.ReadLine(); }
public bool ContainsFactory(ISessionFactoryImplementor factory) { return(SessionFactories.Contains(factory)); }
static SessionTests() { SessionFactories.Register <MySqlSessionFactory>(); }