一.创建Web工程

创建一个Web站点或者Web应用程序,添加对Castle.ActiveRecord.dll的引用。

二.创建需要持久化的业务实体

在.NET2.0下,由于引入了泛型,创建业务实体比1.1下简单了许多,业务实体只需要继承于泛型的ActiveRecordBase类,其中默认已经实现了一些静态的方法,不需要我们再在业务实体中实现。

[ActiveRecord("Employees")]

public class Employee : ActiveRecordBase<Employee>
{
    private string employeeID;

    private string lastName;

    private string city;

    private string address;

    private string homePhone;

    private string country;
 

    [PrimaryKey(PrimaryKeyType.Assigned)]
    public string EmployeeID
    {
        get { return employeeID; }

        set { employeeID = value; }
    }

    [Property]
    public string LastName
    {
        get { return lastName; }

        set { lastName = value; }
    }

    [Property]
    public string City
    {
        get { return city; }

        set { city = value; }
    }

    [Property]
    public string Address
    {
        get { return address; }

        set { address = value; }
    }

    [Property]
    public string HomePhone
    {
        get { return homePhone; }

        set { homePhone = value; }
    }

    [Property]
    public string Country
    {
        get { return country; }

        set { country = value; }
    }
}

三.设置配置信息

在Web.config中设置如下信息,这部分与1.1没有什么区别

<?xml version="1.0"?>

<configuration>

    <configSections>

        <section name="activerecord" type="Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord"/>

    </configSections>

    <connectionStrings>

        <add name="NorthWind" connectionString="Data Source=RJ-097;Initial Catalog=Northwind;User ID=sa;Password=sa"/>

    </connectionStrings>

    <activerecord isWeb="true">

        <config>

            <add key="hibernate.connection.driver class" value="NHibernate.Driver.SqlClientDriver"/>

            <add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect"/>

            <add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>

            <add key="hibernate.connection.connection_string" value="ConnectionString = ${NorthWind}"/>

        </config>

    </activerecord>

</configuration>

四.初始化ActiveRecord

在Global.asax的Application_Start添加初始化代码

void Application_Start(object sender, EventArgs e) 
{
// Code that runs on application startup

Castle.ActiveRecord.Framework.IConfigurationSource source =  System.Configuration.ConfigurationManager.GetSection("activerecord") as Castle.ActiveRecord.Framework.IConfigurationSource;
    Castle.ActiveRecord.ActiveRecordStarter.Initialize(typeof(Employee).Assembly, source);

}

五.使用业务实体

这部分也是与1.1一样,同样可以使用Create(),Save(),Update()等方法,不详细说了,这里我们用一个GridView来展示读取国家为UK的员工列表

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<html>

<head runat="server">

    <title>Castle Active Record for 2.0快速入门示例</title>

</head>

<body>

    <form id="form1" runat="server">

     <h1>Castle Active Record for 2.0快速入门示例</h1>

        <asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">

            <Columns>

                <asp:BoundField HeaderText="Employee ID" DataField="EmployeeID" />

                <asp:BoundField HeaderText="LastName" DataField="LastName" />

                <asp:BoundField HeaderText="City" DataField="City" />

                <asp:BoundField HeaderText="Address" DataField="Address" />   

                <asp:BoundField HeaderText="HomePhone" DataField="HomePhone" />

                <asp:BoundField HeaderText="Country" DataField="Country" />

            </Columns>

        </asp:GridView>

    </form>

</body>

</html>

后台代码:

protected void Page_Load(object sender, EventArgs e)
{
    this.GridView1.DataSource = Employee.FindAllByProperty("Country", "UK");

    this.GridView1.DataBind();
}

最后,运行的结果如下:

内容有些简单,后续有时间会继续介绍Castle Active Record for .NET2.0

完整代码下载:/Files/Terrylee/ARExamWithAspnet.rar

更多Castle的文章你可以访问:http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html

(出处:博客园http://terrylee.cnblogs.com)

转载于:https://www.cnblogs.com/Terrylee/archive/2006/06/22/castle_activerecord_for_dotnet2_quickstart.html

Castle Active Record for .NET2.0快速入门示例相关推荐

  1. ASP.NET2.0快速入门--高级数据方案(3)

      上篇系列文章:http://mqingqing123.cnblogs.com/archive/2006/03/23/356592.html (本节继续介绍一些更容易忽略的问题,供大家参考,由于内容 ...

  2. 如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练)

    如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练) 关于使用Spring MVC创建Web API的另一篇教程. 不太复杂. 只是一个演练. 生成的应用程序将提供简单的 ...

  3. TensorFlow 2.0 快速入门指南 | iBooker·ApacheCN

    原文:TensorFlow 2.0 Quick Start Guide 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活 ...

  4. 《R语言编程艺术》——第1章 1.0 快速入门

    第1章 1.0 快速入门 如前言所述,R是一种针对统计分析和数据科学的功能全面的开源统计语言.它在商业.工业.政府部门.医药和科研等涉及数据分析的领域都有广泛的应用. 本章将给出R的简单介绍--如何调 ...

  5. 视频教程-沐风老师Scratch3.0快速入门视频课程-其他

    沐风老师Scratch3.0快速入门视频课程 沐风课堂创始人,专栏作家,独立媒体人,资深互联网从业者. 沐风老师 ¥20.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 ...

  6. RHEL8.0快速入门系列笔记--理论知识储备(一)

    RHEL8.0快速入门系列笔记–理论知识储备(一) 红帽公司发布Linux8.0系统已经有一段时间,最近准备学习关于RHEL8.0的相关新特性.根据官方介绍:RHEL8.0在云/容器化工作负载方面做了 ...

  7. java web 2.0 下载地址_《征服Ajax Web2.0快速入门与项目实践(Java)》[PDF]

    征服Ajax Web2.0快速入门与项目实践(Java) 作者:张桂元 贾燕枫 姜波 基本信息 ·出版社:人民邮电出版社 ·页码:300 页 ·出版日期:2006年 ·ISBN:7115148031 ...

  8. SpringBoot整合BeetlSql3.0及BeetlSql3.0快速入门说明

    一 SpringBoot整合BeetlSql3.0 1.1 加入依赖 <dependencies><dependency><groupId>org.springfr ...

  9. RHEL8.0快速入门系列笔记--软件包管理(十一)

    RHEL8.0快速入门系列笔记–软件包管理(十一) 一.软件包管理 1.Linux系统中软件包管理 (一)软件包类型 [1] 二进制包 什么是二进制包?有什么特点? 1.二进制包,指的是已经编译好的软 ...

最新文章

  1. SpringCloud Alibaba微服务实战(六) - 路由网关(Gateway)
  2. 递归遍历Linux下的目录文件源码实现
  3. Tomcat 6 部署工程总结,使用JNDI数据源配置
  4. 再读《精通css》03:引入和注释
  5. iol植入手术过程_Phaco+IOL植入术病人的护理
  6. 【Ubuntu-ROS】ubuntu16.04(18.04)ROS安装配置与卸载
  7. ideal新建springboot工程_MyBatis初级实战之一:Spring Boot集成
  8. 名片夹android布局代码,Android自定义布局实现仿qq侧滑部分代码
  9. Vue开发系列三 调试
  10. 78. Subsets 1
  11. 小猿圈之测试用例的八大要素
  12. android blowfish加密算法,BlowFish加密算法研究
  13. 通过ROS控制真实机械臂(17) --- 视觉抓取之ORK实现三维物体识别
  14. 京东推荐系统实践——打造千人千面的个性化推荐引擎
  15. 安防视频监控直播的画面都是如何采集的?
  16. booting from hard disk
  17. 离散数学学习笔记(一)
  18. 多线程代码,性能怎么优化!
  19. NyistOJ 2 括号匹配(栈)
  20. Dicom 图像像素值(灰度值)转为CT值

热门文章

  1. 基于python和postgreSQL存储图片
  2. Leetcode 187. 重复的DNA序列 解题思路及C++实现
  3. php定义枚举,PHP中Enum(枚举)用法实例详解
  4. mysql数据库可以升级吗_[数据库]MySQL升级
  5. PyQt5 技术篇-QComboBox下拉框绑定监听事件实例演示
  6. Chrome 技巧篇-浏览器网页设置编码,解决网页乱码问题,最新版charset插件获取,UTF-8编码设置
  7. Python 技术篇-用PIL库修改图片透明度实例演示,改变png图片色道为RGBA、RGB
  8. 用DMA方式从串行USART口连续接收数据,怎样确认收到一个完整的包讨论
  9. P1965 夜夜的数据加强 题解
  10. 第7周项目实践 1 队列算法库的建立