是否可以将(fluent)nhibernate与odbc连接一起使用?
我必须使用自定义odbc驱动程序 我只需要将DSN作为连接字符串传递是否可以将(fluent)nhibernate与odbc连接一起使用?,nhibernate,fluent-nhibernate,odbc,dsn,Nhibernate,Fluent Nhibernate,Odbc,Dsn,我必须使用自定义odbc驱动程序 我只需要将DSN作为连接字符串传递 如何使用(流利的)nhibernate实现这一点?FluentNHibernate.Cfg.Db仅提供带有DSN方法的OdbcConnectionStringBuilder类。我怎么用这个 快速搜索后,未找到使用OdbcConnectionStringBuilder的任何示例代码。Fluent NHibernate似乎没有与OdbcConnectionStringBuilder一起使用的对应“OdbcConfiguration
如何使用(流利的)nhibernate实现这一点?FluentNHibernate.Cfg.Db仅提供带有DSN方法的OdbcConnectionStringBuilder类。我怎么用这个 快速搜索后,未找到使用OdbcConnectionStringBuilder的任何示例代码。Fluent NHibernate似乎没有与OdbcConnectionStringBuilder一起使用的对应“OdbcConfiguration”对象。如果不使用Fluent NHibernate来配置数据库(但仍然可以使用Fluent进行所有对象映射),则可以通过hibernate.cfg.xml文件进行配置,请查看用于使用ODBC提供程序的。您可以创建自己的
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>();
}
}
}
我想是这样,但不确定这有多容易。奇怪的是,它不像其他常见数据库那样内置。@Florian Lim可以使用DentrixSQL映射表bcoz im,并且只能通过使用SDK API和obdc进行操作
// 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...