Welcome

首页 / 软件开发 / .NET编程技术 / Castle ActiveRecord学习实践(2) 构建配置信息

Castle ActiveRecord学习实践(2) 构建配置信息2011-02-03 cnblogs terrylee主要内容

1.需要配置什么

2.如何去配置

3.常见的配置示例

一.需要配置什么

在第一篇大家都已经看到了,其实我们的配置信息跟用NHibernate时的配置是一样的,这是因为ActiveRecord在底层封装了NHibernate。为了没有用过NHibernate的朋友,这里再把配置信息简单介绍一下。

1.配置NHibernate ADO.NET属性

属性名说明
hibernate.connection.provider_class定制IConnectionProvider的类型.
例如:full.classname.of.ConnectionProvider (如果提供者创建在NHibernate中), 或者 full.classname.of.ConnectionProvider, assembly (如果使用一个自定义的IConnectionProvider接口的实现,它不属于NHibernate)。
hibernate.connection.driver_class定制IDriver的类型.
full.classname.of.Driver (如果驱动类创建在NHibernate中), 或者 full.classname.of.Driver, assembly (如果使用一个自定义IDriver接口的实现,它不属于NHibernate)。
hibernate.connection.connection_string用来获得连接的连接字符串。
hibernate.connection.isolation设置事务隔离级别. 请检查 System.Data.IsolationLevel 来得到取值的具体意义并且查看数据库文档以确保级别是被支持的。
例如: Chaos, ReadCommitted, ReadUncommitted, RepeatableRead, Serializable, Unspecified

2.可选的配置属性

除了上面的ADO.NET属性之外,我们还有如下的可选属性

属性名说明
hibernate.dialectNHibernate方言(Dialect)的类名 - 可以让NHibernate使用某些特定的数据库平台的特性
例如: full.classname.of.Dialect(如果方言创建在NHibernate中), 或者full.classname.of.Dialect, assembly (如果使用一个自定义的方言的实现,它不属于NHibernate)。
hibernate.default_schema在生成的SQL中,scheml/tablespace的全限定名.
例如: SCHEMA_NAME
hibernate.prepare_sql是否准备sql语句
例如: true | false
hibernate.session_factory_nameSessionFactory被创建后将自动绑定这个名称.
例如: some.name
hibernate.use_outer_join允许使用外连接抓取。
例如:true | false
hibernate.cache.provider_class指定一个自定义的CacheProvider缓存提供者的类名
例如: full.classname.of.CacheProvider(如果ICacheProvider创建在NHibernate中), 或full.classname.of.CacheProvider, assembly(如果使用一个自定义的ICacheProvider,它不属于NHibernate)。
hibernate.query.substitutions把NHibernate查询中的一些短语替换为SQL短语(比如说短语可能是函数或者字符)。
例如: hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC