Castle学习之一:安装与环境设置

第一步,当然是下载了。
我本来下载的是Castle RC2的MSI安装文件,并通过SVN下载了Generator,但是安装后发现了一些问题(主要是.net版本的问题),所以删除了之后,从SVN下载了全部最新的代码,然后用NAnt在.net 2.0环境下编译。
具体操作:
1,安装TortoiesSVN;
2,建立新目录:D:\working\Castle.SVN\
3,右击新建目录的图标,SVN CheckOut: http://svn.castleproject.org:8080/svn/castle/trunk/
(以下步骤参照下载下来的how to build.txt)
4,打开命令行,切换到D:\Working\Castle.SVN目录,执行命令: nant -t:net-2.0(当然前提是安装了NAnt)
这个过程比较长,持续了大约10分钟左右.最后生成了一个新目录: D:\working\Castle.SVN\build\net-2.0\debug .我们所需要引用的DLL就包含在这个目录里了(哪位能说一下怎么生成.net 2.0下的Release版?).
5,在本地的Sql Server上建立两个空数据库test, test2

第二步,尝试使用ActiveRecord.
这一步我基本上是跟着ActiveRecord Getting Started里的介绍在做,只不过没有使用VS的项目模板:
1,在Visual Studio 2005里新建一个Class Library项目,添加对以下dll的引用: Castle.ActiveRecord, Castle.Core, Castle.DynamicProxy, log4net, NHibernate.
2,录入代码:

School.cs

TClass.cs

由于个人更喜欢Guid类型的主键,所以没有完全照搬教程的代码,而是做了一些修改.

编译,通过.好了,下一步写点测试代码吧.

Getting Started里用的是Winform,我顺便改成了使用NUnit的测试.

SchoolTest.cs

测试,OK!

需要注意的几点:
1,ActiveRecord里主键默认是int类型,改成Guid之后,PrimaryKey属性必须声明为[PrimaryKey(PrimaryKeyType.Guid)],否则进行数据库操作时会出错.
2,ActiveRecord里主键不应该被赋值,即使赋值了添加到数据库时也会因为重新生成主键而丢失.
3,这个版本的ActiveRecordStarter.CreateSchemaFromFile好像有点问题,执行后没有任何效果,而且不报任何错误.

posted on 2007-02-23 23:19  deerchao  阅读(2496)  评论(3编辑  收藏  举报