2008-01-09
基于DOTNET的活动记录框架
写过一段时间的DOTNET程序和ROR程序后,受ROR的ActiveRecord框架启发,故此写了DOTNET版本的活动记录框架。具有CRUD、事务、验证器、支持多数据库连接。
先介绍简单的CRUD操作。
建立表结构:
create table products( id int primary key identity, name varchar(50), shape varchar(50), amount int, remark varchar(200) )
然后定义类:
using EtNet.ActiveRecord;
[Table("products")]
public class Product : ActiveRecordBase
{
public Product()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
[PrimaryKey]
public int id
{
get {return _id;}
set {_id = value;}
}
[Field]
public string name
{
get {return _name;}
set {_name = value;}
}
[Field]
public string shape
{
get {return _shape;}
set {_shape = value;}
}
[Field]
public int amount
{
get {return _amount;}
set {_amount = value;}
}
[Field]
public string remark
{
get {return _remark;}
set {_remark = value;}
}
private int _id;
private string _name;
private string _shape;
private int _amount;
private string _remark;
}
1、增加记录
Product p = new Product(); p.name = "电脑"; p.shape = "PII"; p.amount = 30; p.Create();
2、修改记录
Product p = (Product)Product.Find(typeof(Product),1); p.shape = "PIII"; p.amount = 23; p.remark = "备用"; p.Update();
3、删除记录
Product p = (Product)Product.Find(typeof(Product),1); p.Destroy();
4、查询记录
Product p = (Product)Product.Find(typeof(Product),1); Console.WriteLine(p.id); Console.WriteLine(p.name); Console.WriteLine(p.shape); Console.WriteLine(p.amount);
其他的功能操作以后再介绍。
评论
jjx
2008-01-14
linq 是一个通用技术
linq to sql是一个特定实现
linq 也可以用在nhibernate和其它orm之上的,而且已经有了,google一样吧
其实,要真正的实现activerecord模式,还是用动态语言整吧,ironptyhon,ironruby现在都可以
linq to sql是一个特定实现
linq 也可以用在nhibernate和其它orm之上的,而且已经有了,google一样吧
其实,要真正的实现activerecord模式,还是用动态语言整吧,ironptyhon,ironruby现在都可以
stworthy
2008-01-14
LINQ想要流行开也不是容易的事,毕竟目前ORM还是主流。Castle.ActiveRecord的底层是基于NHIBERNATE,个人觉得太庞杂。
hongfei3
2008-01-12
stworthy 写道
mooniscrazy 写道
末日黄花,没有看头了。现在流行语言集成查询,不需要这个了。
如若真流行开,估计HIBERNATE也该退出舞台了。还需要多少时间,这个不得而知。
其实NH就没有流行开来.
我们的两个项目已经在RTM上开始了林Q之旅.
我想这个时间是08年底吧.
stworthy
2008-01-12
mooniscrazy 写道
末日黄花,没有看头了。现在流行语言集成查询,不需要这个了。
如若真流行开,估计HIBERNATE也该退出舞台了。还需要多少时间,这个不得而知。
mooniscrazy
2008-01-11
末日黄花,没有看头了。现在流行语言集成查询,不需要这个了。
yyliuliang
2008-01-11
Castle.ActiveRecord
http://www.castleproject.org/
http://www.castleproject.org/
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 3558 次

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
一个java+sitemesh+ext+ar ...
ar?没有用过。下载看看
-- by ftmouse -
lists模块中delete函数的 ...
stworthy 写道出一个题目:假设需要对一个文件中的某个字进行删除,这个文件 ...
-- by Trustno1 -
lists模块中delete函数的 ...
出一个题目:假设需要对一个文件中的某个字进行删除,这个文件可能很大,这时用set ...
-- by stworthy -
lists模块中delete函数的 ...
小量数据可以用list 大量的就用set 或者dict之类的专门数据结构 不需要 ...
-- by mryufeng -
lists模块中delete函数的 ...
lichray 写道Trustno1 写道我认为,如果需求中存在需要随机访问的庞 ...
-- by Trustno1






评论排行榜