开发者

NHibernate Configuration in web.config - use existing connectionstring

开发者 https://www.devze.com 2022-12-11 11:56 出处:网络
I have my NHibern开发者_高级运维ate configuration successfully set up in my web.config file.However, I am also using ASP.NET Membership which requires a connectionstring to be defined in the connectio

I have my NHibern开发者_高级运维ate configuration successfully set up in my web.config file. However, I am also using ASP.NET Membership which requires a connectionstring to be defined in the connectionStrings element. Is there a way I can make my NHibernate configuration use this value so I don't need to define the connection string twice?


You can use connection.connection_string_name element in the NHibernate configuration. Have a look here. Then NHibernate will get connection string by name from web.config file

You need to use the connection.connection_string_name attribute in the configuration:

<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>

With fluent configuration you can do the following

ConnectionString(c=>c.FromConnectionStringWithKey("YourConnStrName"))

With NHibernate configuration API you can do the following:

var cfg = new Configuration();
cfg.DataBaseIntegration(db =>
{
    db.ConnectionStringName = "default";             
});


Just to add to sly's answer, you can do this using FluentNHibernate like this (in your fluent config):

.ConnectionString(c=>c.FromConnectionStringWithKey("con_development"))
0

精彩评论

暂无评论...
验证码 换一张
取 消