- 授权协议: GPL
- 开发语言: C#
- 操作系统: 跨平台
- 软件首页: https://git.oschina.net/sqlorm/NORM
- 软件文档: https://git.oschina.net/sqlorm/NORM
软件介绍
norm 是一款轻巧,高效,实用的针对.NET开发的 orm ,它使用简单,大量语法参照 sql 语法,例如:OQL.From(model).Where(w => w.Compare(model.ID, "=", 388)).OrderBy(m => m.Asc(model.CreateDate)).Select().End;model为数据库表对应的映射实体。
norm 设计思路是:由OQL根据给定的语法,自动生成sql 语句,然后用DataBase 数据库实例最终去完成查询,增加,删除等操作。NORM 查询要多少数据,生成相关sql 去数据库检索多少数据最后转化成实体对象,这样避免给服务器造成过多的内存点用和性能消耗。
norm 目前支持 sqllite , sqlserver,postgresql 三种数据库,后续会加入更多的数据库类型支持。
查询示例:
1. 先由DataBaseFactory 类创建数据库实例代码如下:
var db = DataBaseFactory.Create(); //配置文件 <connectionStrings>下 默认配置连接字符串
2.生成数据表实体
Generator.BuildEntity(db, "T_Accounts", "NORM.Models", out sb)
3.编写OQL 语法
OQL oql= OQL.From(model).Where(w => w.Compare(model.ID, "=", 388)).OrderBy(m => m.Asc(model.CreateDate)).Select().End;
4.执行OQL 返回实体集合
var list= EntityQuery<Models.T_Accounts>.QueryToList(oql, db);
插入示例:
1. 创建数据为实例:方法同上
2. 定义model
Models.T_Accounts model = new Models.T_Accounts();
model.DeleteSign = 0;
model.Describ = "描述";
model.CreateDate = DateTime.Now;
3.开启事务
db.BeginTransaction();
4.执行插入
EntityQuery<Models.T_Accounts>.Instance.Insert(model, db);
5.提交事务
db.Commit();
...
项目开源地址:https://git.oschina.net/sqlorm/NORM 。
Programming Collective Intelligence
Toby Segaran / O'Reilly Media / 2007-8-26 / USD 39.99
Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the......一起来看看 《Programming Collective Intelligence》 这本书的介绍吧!
