2011-04-15 45 views

回答

8

您可以创建自己的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>(); 
     } 
    } 
} 

然后,在功能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... 
+0

想通这是这样的事情,但不知道它会多么容易。奇怪它不像其他常用数据库那样内置。 – 2011-04-15 14:18:26

+0

@Florian Lim可以使用DentrixSQL映射表bcoz im,并且只能通过使用带有obdc的SDK API进行操作 – 2015-11-25 11:53:39

1

在快速搜索后未找到使用OdbcConnectionStringBuilder的示例代码。 Fluent NHibernate似乎没有相应的“OdbcConfiguration”对象用于OdbcConnectionStringBuilder。如果你不使用Fluent NHibernate来配置数据库(你仍然可以在所有的对象映射中使用Fluent),你可以通过hibernate.cfg.xml文件进行配置,查看DB2 example config以使用ODBC提供程序。