单表使用
建立一下表
CREATE TABLE [dbo].[Employees] (
[Employeesid] [int] IDENTITY (1, 1) NOT NULL ,
[LogonName] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[LastLogon] [datetime] NULL
) ON [PRIMARY]
GO
建立一个实体类,代码如下
using System;
using System.Data;
using System.Configuration;
using System.Collections.Generic;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Castle.ActiveRecord;
using Castle.ActiveRecord.Framework;
using Castle.ActiveRecord.Framework.Config;
using Castle.ActiveRecord.Framework.Internal;
using Castle.ActiveRecord.Framework.Scopes;
using Castle.ActiveRecord.Framework.Validators;
using Castle.ActiveRecord.Queries.Modifiers;
using Castle.ActiveRecord.Queries;
/// <summary>
/// Employees 的摘要说明
/// </summary>
[ActiveRecord("Employees")]
public class Employees : ActiveRecordBase
{
private int _Employeesid;
private string _LogonName;
private DateTime _LastLogon;
[PrimaryKey(PrimaryKeyType.Identity, "Employeesid")]
public int Employeesid
{
get { return _Employeesid; }
set { _Employeesid = value; }
}
[Property("LogonName")]
public string LogonName
{
get { return _LogonName; }
set { _LogonName = value; }
}
[Property("LastLogon")]
public DateTime LastLogon
{
get { return _LastLogon; }
set { _LastLogon = value; }
}
#region
public static void DeleteAll()
{
DeleteAll(typeof(Employees));
}
public static IList FindAll()
{
return (IList)FindAll(typeof(Employees));
}
public static Employees Find(int Employeesid)
{
return (Employees)FindByPrimaryKey(typeof(Employees), Employeesid);
}
#endregion
}
web.config中加入以下
<?xml version="1.0"?>
<!--
注意: 除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
“网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
/Windows/Microsoft.Net/Framework/v2.x/Config 中
-->
<configuration>
<configSections>
<section name="activerecord" type="Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord"/>
</configSections>
<appSettings/>
<connectionStrings/>
<system.web>
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilation debug="true">
<assemblies>
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<authentication mode="Windows"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
<activerecord>
<config>
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
<add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2005Dialect"/>
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
<add key="hibernate.connection.connection_string" value="Data Source=192.168.108.123,3758;Initial Catalog=GameMiddleNew;Persist Security Info=True;User ID=testuser;pooling = true;Max Pool Size=50;Min Pool Size=3;Password=3Ger@jiubang;"/>
</config>
</activerecord>
<!--mysql如下配置-->
<activerecord>
<config>
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.MySqlDataDriver"/>
<add key="hibernate.dialect" value="NHibernate.Dialect.MySQLDialect"/>
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
<add key="hibernate.connection.connection_string" value="Database=mydb;Data Source=localhost;User Id=root;Password=sureme"/>
</config>
</activerecord>
</configuration>
在Global.asax的Application_Start添加初始化代码
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
Castle.ActiveRecord.Framework.IConfigurationSource source = System.Configuration.ConfigurationManager.GetSection("activerecord") as Castle.ActiveRecord.Framework.IConfigurationSource;
Castle.ActiveRecord.ActiveRecordStarter.Initialize(typeof(Employees).Assembly, source);
}
使用
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<html>
<head id="Head1" 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="Employeesid" />
<asp:BoundField HeaderText="LogonName" DataField="LogonName" />
<asp:BoundField HeaderText="LastLogon" DataField="LastLogon" />
</Columns>
</asp:GridView>
</form>
</body>
</html>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.DataSource = Employees.FindAll();
this.GridView1.DataBind();
//增加
Employees teste = new Employees();
teste.LogonName = "test";
teste.LastLogon = System.DateTime.Now;
teste.Create();
teste = (Employees)teste.SaveCopy();
//修改
teste.LogonName = "wo kao";
teste.UpdateAndFlush();
////删除
//Employees testf = new Employees();
//testf.Employeesid = teste.Employeesid;
//testf.Delete();
}
相关推荐
CASTLE ACTIVERECORD学习实践(1):快速入门指南 CASTLE ACTIVERECORD学习实践(2):构建配置信息 CASTLE ACTIVERECORD学习实践(3):映射基础 CASTLE ACTIVERECORD学习实践(4):实现ONE-MANY关系的映射 CASTLE...
Castle ActiveRecord快速入门指南,ActiveRecord帮助文档
Castle.ActiveRecord官方已经停止更新了,官方最高支持到NHibernate 3.1.0.4000,这个版本还有不少问题(例如:[NH-2213] - CLONE -Wrong ...关键词:Castle.ActiveRecord NHibernate 3.4.0GA 升级 update upgrade
ActiveRecord 手册Castle ActiveRecord学习 快速入门指南
Castle.ActiveRecord For .NET FrameWork 2.0 如果你想使用Castle.ActiveRecord,但又不想使用.NET Framework 3.0/3.5/4.0或更高版本,那么这个就是你所需要的,For .NET FrameWork 2.0,我整理了好久,自己从官方...
Castle ActiveRecord CHM帮助文档 最全的学习资料,经典例子,入门必备,技术人员随身携带的备查工具书。
摘要:最近几天有时间看了一下Castle,原来它的功能是如此的强大,从数据访问框架到IOC容器,再到WEB框架,基本包括了整个开发过程中的所有东西,看来得好好学习研究一下了,并且打算把自己学习过程的一些东西记录...
castle ActiveRecord 源代码 nhibernate封装 C#
Castle.ActiveRecord 的资料很多,但是WINFORM的没几个,于此我专门写了个例子献给初学Castle.ActiveRecord的童鞋们,希望这篇文档能够帮到你们。这个例子使用的是ACCESS数据库,从单表,一对多,多对多,数据绑定,...
包含ActiveRecord、Castle API、NHibernate.Documentation、NHibernate.Reference 等关于Castle ActiveRecord的帮助文档
Castle ActiveRecord 2.0
简单Castle.ActiveRecord.Generator的例子。 包括添加,修改,删除,察看的基本功能。 包含建库脚本。
C# Castle.ActiveRecord CS源码示例教程.zip
Wpf使用Castle.ActiveRecord的示例,Castle针对.NET平台下的一个非常优秀的开源项目,其对数据访问层封装的非常不错,使开发者能省下大量数据访问的工作量,此示例比较基础,适合入门的朋友参考下,所需要的控件已在...
基于Castle ActiveRecord实现数据访问层的PetShop ASP.NET源码。
ActiveRecord :: Jwt 此ActiveRecord扩展添加了jwt(JSON Web Token)方法 安装 将此行添加到您的应用程序的Gemfile中: gem 'activerecord-jwt' 然后执行: $ bundle 或将其自己安装为: $ gem install ...
Castle.ActiveRecord 3.0.0+NHibernate 3.0.0.4000+SQLite+NVelocity 服务器控件 组合案例 VS环境:VS2010 数据访问框架: Castle.ActiveRecord 3.0.0 + NHibernate3.0.0.4000 当前测试数据库:SQLite (要改变...
找这个资源的人都知道这是干什么的,就不多说什么了,
Apress Pro ActiveRecord Databases with Ruby and Rails <br>Active Record has primarily been covered as a subsection, or maybe as a chapter or two, within a larger scoped book generally about the ...