我的NHibernate配置成功地在我的web.config文件中设置了.但是,我也使用ASP.NET成员资格,它需要在connectionStrings元素中定义一个connectionstring.有没有办法使我的NHibernate配置使用这个值,所以我不需要定义连接字符串两次?
解决方法
您可以在NHibernate配置中使用connection.connection_string_name元素.看看
here.然后NHibernate将从web.config文件中的名称获取连接字符串
您需要在配置中使用connection.connection_string_name属性:
<connectionStrings> <add name="default" connectionString="server=(local);etc." /> </connectionStrings> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <session-factory> <property name="connection.connection_string_name">default</property> </session-factory> </hibernate-configuration>
通过流畅的配置,您可以执行以下操作
ConnectionString(c=>c.FromConnectionStringWithKey("YourConnStrName"))
使用NHibernate配置API,您可以执行以下操作:
var cfg = new Configuration(); cfg.DataBaseIntegration(db => { db.ConnectionStringName = "default"; });