diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs index 03e68234..c559a151 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/DelegatingLocalSessionFactoryObject.cs @@ -40,12 +40,20 @@ namespace Spring.Data.NHibernate protected override void PostProcessConfiguration(Configuration config) { // called before NewSessionFactory - if (!config.Properties.ContainsKey(Environment.ConnectionString)) - { - throw new System.ArgumentException("Must specify connection string"); - } + var settings = ConfigurationManager.ConnectionStrings[config.Properties[NHibernate.Cfg.Environment.ConnectionStringName]]; + + if (settings != null) + { + config.Properties.Add(new KeyValuePair(NHibernate.Cfg.Environment.ConnectionString, settings.ConnectionString)); + } + + // called before NewSessionFactory + if (!config.Properties.ContainsKey(NHibernate.Cfg.Environment.ConnectionString)) + { + throw new System.ArgumentException("Must specify connection string. If connection_string_name is set to a value, make sure there exists a connection string with that name."); + } } } -} \ No newline at end of file +}