nhibernate - 是否可以通过 odbc 连接使用(流畅)nhibernate?

标签 nhibernate fluent-nhibernate odbc dsn

我必须使用自定义 odbc 驱动程序。

我需要作为连接字符串传递的只是 DSN。

我如何使用(流畅)nhibernate 做到这一点? FluentNHibernate.Cfg.Db 仅提供带有 DSN 方法的 OdbcConnectionStringBuilder 类。我如何使用它?

最佳答案

您可以创建自己的 OdbcConfiguration派生自 PersistenceConfiguration 的类.

根据您的数据库,您将必须替换以下类中的方言。

public class OdbcConfiguration : 
    PersistenceConfiguration<OdbcConfiguration, 
        FluentNHibernate.Cfg.Db.OdbcConnectionStringBuilder>
{
    protected OdbcConfiguration()
    {
        Driver<NHibernate.Driver.OdbcDriver>();
    }

    public static OdbcConfiguration MyDialect // <-- insert any name here
    {
        get
        {
            // insert the dialect you want to use
            return new OdbcConfiguration().Dialect<NHibernate.Dialect.MyDialect>();
        }
    }
} 

然后,在 Fluent NHibernate 中,使用 OdbcConfiguration :
// replace MyDialect here, too
Fluently.Configure()
    .Database(OdbcConfiguration.MyDialect.ConnectionString("DSN=...;UID=...;PWD=...")
            .Driver<NHibernate.Driver.OdbcDriver>()
            .Dialect<NHibernate.Dialect.MyDialect>() // <-- again, change this
            .etc...

关于nhibernate - 是否可以通过 odbc 连接使用(流畅)nhibernate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5676812/

相关文章:

c# - 带有数组参数的过滤器定义 (SQL : WHERE IN)

nhibernate - 构建 NHibernate DTO 的最佳方法

c# - 无法创建 FluentNHibernate.Automapping.AutoMapping Namespace.Class[T] 的实例,因为 Type.ContainsGenericParameters 为真

sql-server - 如何将 SQL_NUMERIC_STRUCT 转换为 double 和字符串?

python - pyodbc 操作错误 08001 ssl 安全错误

sql-server - 读取文件然后将文件写入 SQL Server BLOB 列的代码,生成具有不同字节的文件

sql-server - NHibernate TooManyRowsAffectedException

nhibernate - 如何使用 Fluent NHibernate 自动映射一组组件?

nhibernate - 流畅的 NHibernateWhere 子句

asp.net-mvc - 流利的nHibernate 2010入门指南