Castle学习系列之二:Castle配置

说明:本系列文章参考自李会军先生的Castle
开发系列文章
,然后记录自己在学习时遇到的一些问题,记录之。

主要内容

1、Castle配置学习

2、初始化配置

Castle配置学习


<?xml version="1.0"?>
<configuration>
<configSections>
<section name="activerecord" type="Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord"/>
</configSections>
<activerecord>
<config>
<add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
<add key="dialect" value="NHibernate.Dialect.MsSql2008Dialect" />
<add key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
<add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" />
<add key="connection.connection_string" value="Data Source=localhost;Initial Catalog=Study;User ID=sa;Password=******" />
</config>
</activerecord>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

  此段配置适用于配置其NHibernate ADO.NET的。

  a、activerecord表明自定义节点,其类型(type)表明了ActiveRecord的实现程序集和命名空间。

  b、connection.driver_class,定制IDriver的类型,可以配置适用于不同类型数据库的驱动。

  c、connection.provider,配置连接驱动提供程序。

  d、dialect,用于配置NHibernate的方言环境,可以通过此配置使用数据库的某些特性。

  e、proxyfactory.factory_class,新版本Castle需要添加此配置,用来配置代理工厂的工厂类。

  f、connection.connection_string,用来配置数据连接字符串。

初始化配置

  1、通过配置文件


//获取web.config或者app.config中相应的配置信息
IConfigurationSource cfgSrc = System.Configuration.ConfigurationManager.GetSection("activerecord") as IConfigurationSource;
//初始化ActiveRecord
ActiveRecordStarter.Initialize(cfgSrc, typeof(User));

  2、通过硬编码

InPlaceConfigurationSource source = new
InPlaceConfigurationSource();

Hashtable properties = new Hashtable();

properties.Add("connection.driver_class",
"NHibernate.Driver.SqlClientDriver");

properties.Add("dialect",
"NHibernate.Dialect.MsSql2000Dialect");
properties.Add("connection.provider",
"NHibernate.Connection.DriverConnectionProvider");

properties.Add("proxyfactory.factory_class",
"NHibernate.ByteCode.Castle.ProxyFactoryFactory,
NHibernate.ByteCode.Castle");

properties.Add("connection.connection_string", "Data Source=localhost;Initial
Catalog=Study;User ID=sa;Password=******");

source.Add(typeof(ActiveRecordBase), properties);

ActiveRecordStarter.Initialize(source,
typeof(ActiveRecordBase));

注意:

  1、对于不同类型的数据库我们只需更改dialect和connection.connection_string字节信息即可

  2、常用的dialect

















MySQL

NHibernate.Dialect.MySQLDialect

Oracle (any version)

NHibernate.Dialect.OracleDialect

Oracle 9/10g

NHibernate.Dialect.Oracle9Dialect

Sybase

NHibernate.Dialect.SybaseDialect

Microsoft SQL Server 2000

NHibernate.Dialect.MsSql2000Dialect

再次说明:本系列文章参考自李会军先生的Castle
开发系列文章
,然后记录自己在学习时遇到的一些问题,记录之。

时间: 2024-08-25 15:11:04

Castle学习系列之二:Castle配置的相关文章

WPF学习系列之二 (依赖项属性)

依赖属性;(dependency property)  它是专门针对WPF创建的,但是WPF库中的依赖项属性都使用普通的.NET属性过程进行了包装.从而可能通过常规的方式使用它们,即使使用他们的代码不理解WPF依赖项属性系统也是如此,使用旧技术包装新技术看起来有些奇怪,但这正是WPF能够改变基础组成部分,而不会扰乱.NET领域中其他部分的原因.三步:一:定义依赖项属性.public static readonly DependencyProperty MarginProperty;二:.在静态构

CAN总线学习系列之二——CAN总线与RS485的比较

CAN总线学习系列之二--CAN总线与RS485的比较 上 一节介绍了一下CAN总线的基本知识,那么有人会问,现在的总线格式很多,CAN相对于其他的总线有什么特点啊?这个问题问的好,所以我想与其它总线做一 下比较,首先呢,就比较一下大家耳熟能详的485总线,其实485总线只是一种电平标准,并不是什么新的协议,与232差不多,当然这么说不是很恰当,但 是有助于大家理解.       下面开始比较了: CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式

Mybatis系列(二)配置

Mybatis系列(二)配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 引入外部

Castle学习系列(十)---Windsor框架类注册

上篇已经学习了Windsor的快速入门,框架的配置只需要两步,本篇学习下这个两步配置针对特定场景的自定义的配置,我只学习了代码的配置,对于XML的配置可以参考官方文档http://docs.castleproject.org/Windsor.XML-Registration-Reference.ashx.   安装的配置 安装的配置比较简单,无非是寻找安装类,并执行安装并获取容器,所有的安装类都需要继承自IWindsorInstaller,此接口规定了方法如下: void Install(IWi

使用腾讯云 GPU 学习深度学习系列之二:Tensorflow 简明原理【转】

转自:https://www.qcloud.com/community/article/598765?fromSource=gwzcw.117333.117333.117333 这是<使用腾讯云 GPU 学习深度学习>系列文章的第二篇,主要介绍了 Tensorflow 的原理,以及如何用最简单的Python代码进行功能实现.本系列文章主要介绍如何使用 腾讯云GPU服务器 进行深度学习运算,前面主要介绍原理部分,后期则以实践为主. 往期内容: 使用腾讯云 GPU 学习深度学习系列之一:传统机器学

C# Redis学习系列三:Redis配置主从

Redis配置主从 主IP :端口      192.168.0.103 6666 从IP:端口       192.168.0.108 3333 配置从库 (1)安装服务: redis-server --service-install --service-name redisService6666 --port 6666 (2)启动进程: redis-server --service-start --service-name redisService6666 (3)连接redis:redis-

Python学习系列(二)(基础知识)

Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比,避免陷入语法的苦海.我认为初学者学习语法的目标是学会使用即可,关于对概念的深入理解,剖析,没有一定的知识积累是很难做到的. 学习Python,基本语法不是特别难,有了C的基本知识,理解比较容易.本文的主要内容是Python基础语法,学完后,能熟练使用就好.(开发环境依然是Python2.7,简单使用

《一个销售的VMWARE学习系列之二:ESXI的安装步骤》

ESXI是什么?可以理解为VMWARE的操作系统,比如:微软的Windows操作系统啦: 1.首先把光碟插到光盘上启动电脑,在窗口上选择"DELLESXI-5.1-799733(A00) Installer",如下: 2.按回车确定安装ESXI,如下: 3.按F11接受协议,如下: 4.按"Enter",选择安装的硬盘,如下: 5.选择默认的键盘语言,如下: 6.在下面就输入ROOT的密码,并按"Enter"如下: 7.选择"F11&q

Castle学习系列(九)---Windsor框架快速入门

Windsor是Castle提供的一个IOC框架,使用非常简单,支持批量注册.开始快速入门 首先引用dll 两个dll版本均是最新的3.3.0.0 新建两个接口文件IPrinter(打印接口)和ICharge(收费接口) public interface IPrinter { void RegPrint(int regID); void ClinicPrint(int chargeID); } public interface ICharge { void ClinicChcarge(); }