如何使用Fluent NHibernate设置自定义DriverConnectionProvider

Ale*_*rov 4 nhibernate fluent-nhibernate

如何使用Fluent NHibernate设置自定义DriverConnectionProvider?

此致,Alexey Zakharov

Ale*_*rov 13

我找到解决方案.这是一个小样本,它是如何完成的.

Fluently.Configure()
    .Database(MsSqlConfiguration.MsSql2008
                    .ConnectionString(".......")
                    .ShowSql()
                    .Provider<TenantConnectionProvider>()
                    )

public class TenantConnectionProvider : DriverConnectionProvider
{
    public override IDbConnection GetConnection()
    {
        IDbConnection conn = Driver.CreateConnection();
        try
        {
            conn.ConnectionString = // Tenant connection string provider called here
            conn.Open();
        }
        catch (Exception)
        {
            conn.Dispose();
            throw;
        }

        return conn;


   }
}
Run Code Online (Sandbox Code Playgroud)

  • 这里的关键点是ConnectionString必须设置一些内容,并且不能为空字符串。 (2认同)