Castle ActiveRecord学习笔记三:初始化配置

在使用Castle ActiveRecord的时候,需要两种方式来进行初始化,一种就是通过配置文件,另外一种就是将初始配置进行硬编码,写到程序中来。

当然,一般来说,利用配置文件来进行将会大大简化后期维护,我们首先在程序中添加一个App.config的配置文件,记住,一定要将这个配置文件的生成操作设置为“嵌入的资源”才行。否则会提示如学习笔记二中所出现的问题。

具体的配置如下:

<?xml version="1.0" encoding="utf-8" ?><configuration>    <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="UID=sa;Password=*****;Initial Catalog=NewsDemo;Data Source=."/>    </config></configuration>

然后在程序中的编码如下:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Castle.ActiveRecord.Framework;using System.Configuration;using Castle.ActiveRecord;using Castle.ActiveRecord.Framework.Config;using System.Collections;using CastleLib;

namespace CastleAPP{    publicpartialclass MainFrm : Form    {        public MainFrm()        {            InitializeComponent();            Init();        }

privatevoid Init()        {            XmlConfigurationSource source =new XmlConfigurationSource("http://www.cnblogs.com/App.config");            ActiveRecordStarter.Initialize(source, typeof(CastleLib.User);        }

privatevoid Form1_Load(object sender, EventArgs e)        {            AddUsers();            IList list = CastleLib.User.FindAll();

dataGridView1.DataSource = list;        }

publicvoid AddUsers()        {            CastleLib.User user =new CastleLib.User();            user.Name ="石朝阳";            user.Password ="ceshi";            user.Address ="河南省信阳市";            user.LastLogon = DateTime.Now;            user.Create();        }    }}

而如果使用硬编码的方式,则相对来说简单一些,只需要申明一个字典类,然后将操作activerecord的键值对写入,最后调用Initialize方法载入即可。具体的代码如下:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Castle.ActiveRecord.Framework;using System.Configuration;using Castle.ActiveRecord;using Castle.ActiveRecord.Framework.Config;using System.Collections;using CastleLib;

namespace CastleAPP{    publicpartialclass MainFrm : Form    {        public MainFrm()        {            InitializeComponent();            Init();        }

privatevoid Init()        {            InPlaceConfigurationSource source = new InPlaceConfigurationSource();            IDictionary<string, string> properties = new Dictionary<string, string>();            properties.Add("connection.driver_class", "NHibernate.Driver.SqlClientDriver");            properties.Add("dialect", "NHibernate.Dialect.MsSql2008Dialect");            properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");            properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");            properties.Add("connection.connection_string", "UID=sa;Password=*****;Initial Catalog=NewsDemo;Data Source=.;");            source.Add(typeof(ActiveRecordBase), properties);            ActiveRecordStarter.Initialize(source, typeof(CastleLib.User));        }

privatevoid Form1_Load(object sender, EventArgs e)        {            AddUsers();            IList list = CastleLib.User.FindAll();

dataGridView1.DataSource = list;        }

publicvoid AddUsers()        {            CastleLib.User user =new CastleLib.User();            user.Name ="石朝阳";            user.Password ="ceshi";            user.Address ="河南省信阳市";            user.LastLogon = DateTime.Now;            user.Create();        }    }}

希望有用。

时间: 2024-11-11 22:21:18

Castle ActiveRecord学习笔记三:初始化配置的相关文章

【JavaWeb】学习笔记三 Eclipse配置开发环境

1.去Eclipse官网下载一个Eclipse IDE for Java EE http://www.eclipse.org/downloads/ 2.下载安装完毕,在 左侧Package Explorer点击右键-> New -> Project 3.在弹窗中选择 Web -> Dynamic Web Project 创建项目 4.根据自己项目名和路径 Tomcat jdk配置相关版本和路径 5.在WebContent里创建一个index.jsp 6.在myhome上点击右键->

VSTO学习笔记(三) 开发Office 2010 64位COM加载项

原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(Automation Executables) 2.Office加载项(COM or Excel Add-In) 3.Office文档代码或模板(Code Behind an Office Document or Template) 4.Office 智能标签(Smart Tags) 本次我们将学习使

NFC学习笔记——三(在windows操作系统上安装libnfc)

本篇翻译文章: 这篇文章主要是说明如何在windows操作系统上安装.配置和使用libnfc. 一.基本信息 1.操作系统: Windows Vista Home Premium SP 2 2.硬件信息: System: Dell Inspiron 1720 Processor: Intel Core 2 Duo CPU T9300 @ 2.5GHz 2.5GHz System type: 32-bit Operating System 3.所需软件: 在windows操作系统上安装软件需要下列

struts学习笔记(1)基本配置

Struts2  学习笔记 吃透最简单的Helloword实例之后 ,接着再一一去研究 请求参数的接收与发送,参数的封闭,校验,result,struts2标签库这些最为核心的东西(其实这些也正是最常用的东西),经过这样的学习,应该领会了一些Struts2的流程,接着再去阅读相关文档去了解Strust2的拦截器设计思想(这叫先使用再体会的学习方法),接着可以做一些针对于自定义拦截器的实现来深化对Struts2的认识.此时,你已经达到企业中使用的级别了,接下来就可以玩一些SSh整合 一.基本配置 

JavaScript--基于对象的脚本语言学习笔记(三)

事件处理器 1.一个数据校验表单的例程 <html> <head> <title>js练习</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> String.prototype.trim=function(){ r

Lua学习笔记(三):表的构造

构造器是创建和初始化表的表达式.表是Lua特有的功能强大的东西.最简单的构造函数是{},用来创建一个空表.可以直接初始化数组: 1 days = {"Sunday", "Monday", "Tuesday", "Wednesday", 2 "Thursday", "Friday", "Saturday"} Lua将“Sunday”初始化days[1](第一个元素索引为

Spring Batch学习笔记三:JobRepository

此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch Job在运行时有很多元数据,这些元数据一般会被保存在内存或者数据库中,由于Spring Batch在默认配置是使用HSQLDB,也就是说在Job的运行过程中,所有的元数据都被储存在内存中,在Job结束后会随着进程的结束自动消失:在这里我们推荐配置JobRepository去使用MySQL. 在这种情况下,Spring Batch在单次执行或者从一个执行到另外一个执行的时候会使用数据库去维护状态,Job执行的信息包

马哥学习笔记三十——tomcat

Java体系结构包含四个独立却又彼此相关的技术: Java程序设计语言 Java API Java Class文件格式 JVM: Java Virtual Machine JVM的实现方式: 1.一次性解释器,解释字节码并执行: 2.即时编译器(just-in-time complier) 依赖于更多内存缓存解释后的结果 3.自适应编译器 缓存20%左右代码,提高80%左右的速度: 运行时数据区: 线程私有内存区: 程序计数器 java虚拟机栈 线程共享内存区: 方法区 堆:java自动内存回收

Ninject学习笔记&lt;三&gt;

ASP.NET MVC学前篇之Ninject的初步了解 1.介绍 废话几句,Ninject是一种轻量级的.基础.NET的一个开源IoC框架,在对于MVC框架的学习中会用到IoC框架的,因为这种IoC开源框架有很多,本篇的主题只有一个,就是让阅读过本篇幅的朋友逗知道IoC框架在项目中的作用,以及它的重要性. 这样做的目的是以便在以后的学习工作中选择自己中意的一个IoC框架来学习.使用,或者是自己去实现一个.好了,不废话了. 2.环境准备 1.新建个4.0Framework的一个控制台应用程序项目,