原创的轻量级ORM,支持Lambda进行数据库操作
2010-01-28 11:45
253 查看
这个orm已经用了好几个月了基本完善了,现在来分享下他的操作方式
Db.Instance.Insert<Message>()
.Add(o => o.Product, msg.Product)
.Add(o => o.Email, msg.Email)
.Add(o => o.Phone, msg.Phone)
.Add(o => o.Address, add.Area+add.Detail)
.Add(o => o.Content, msg.Content)
.Add(o => o.IP, ip)
.Add(o => o.CreateAt, DateTime.Now)
.Execute();
Db.Instance.Update<Article>(o => o.ArticleId == articleId)
.Add(o => o.ColumnId, columnId)
.Add(o => o.Title, title)
.Add(o => o.Content, content)
.Add(o => o.CreateAt, DateTime.Now)
.Execute() > 0;
Db.Instance.Insert(o);
Db.Instance.Update(o);
Db.Instance.Delete<Message>(o => o.MessageId == messageId);
Db.Instance.Query<Message>().OrderByDescending(o => o.CreateAt);
Db.Instance.Query<Message>().Where(o => o.MessageId == id).ToList();
var q = Db.Instance.Query<Product>().Where(o => o.SerialNumber.Contains(k) || o.Name.Contains(k) || o.ZhName.Contains(k) || o.EnName.Contains(k)).OrderByDescending(o=>o.CreateAt);
q.GetRange(pageIndex, pageSize).ToList();
Db.Instance 是根据webconfig里的第一个connection得到的
<add name="daogou" providerName="System.Data.SqlClient" connectionString="Data Source=xxx;User ID=xxx;Password=xxx;Initial Catalog=xxx;Pooling=true" />
也可以用new Db(string providerName, string connectionString)来得到实例,理论上支持所有的数据库,目前经过测试的有sqlserver,oledb,sqlite
本orm是基于表达式树开发的,经测试构造sql效率非常高,支持where,in,distinct,select field,top,order,max,count,contains(like),insert,delete,update,getrange等,就不一一示例。全部使用参数化查询
不过只支持单表操作,因为我个人不喜欢把业务逻辑放在sql语句里,支持事务(q.Attach(DbTransaction tran))。
最后感谢老赵在园子里写了那么多关于表达式树的文章!
Db.Instance.Insert<Message>()
.Add(o => o.Product, msg.Product)
.Add(o => o.Email, msg.Email)
.Add(o => o.Phone, msg.Phone)
.Add(o => o.Address, add.Area+add.Detail)
.Add(o => o.Content, msg.Content)
.Add(o => o.IP, ip)
.Add(o => o.CreateAt, DateTime.Now)
.Execute();
Db.Instance.Update<Article>(o => o.ArticleId == articleId)
.Add(o => o.ColumnId, columnId)
.Add(o => o.Title, title)
.Add(o => o.Content, content)
.Add(o => o.CreateAt, DateTime.Now)
.Execute() > 0;
Db.Instance.Insert(o);
Db.Instance.Update(o);
Db.Instance.Delete<Message>(o => o.MessageId == messageId);
Db.Instance.Query<Message>().OrderByDescending(o => o.CreateAt);
Db.Instance.Query<Message>().Where(o => o.MessageId == id).ToList();
var q = Db.Instance.Query<Product>().Where(o => o.SerialNumber.Contains(k) || o.Name.Contains(k) || o.ZhName.Contains(k) || o.EnName.Contains(k)).OrderByDescending(o=>o.CreateAt);
q.GetRange(pageIndex, pageSize).ToList();
Db.Instance 是根据webconfig里的第一个connection得到的
<add name="daogou" providerName="System.Data.SqlClient" connectionString="Data Source=xxx;User ID=xxx;Password=xxx;Initial Catalog=xxx;Pooling=true" />
也可以用new Db(string providerName, string connectionString)来得到实例,理论上支持所有的数据库,目前经过测试的有sqlserver,oledb,sqlite
本orm是基于表达式树开发的,经测试构造sql效率非常高,支持where,in,distinct,select field,top,order,max,count,contains(like),insert,delete,update,getrange等,就不一一示例。全部使用参数化查询
不过只支持单表操作,因为我个人不喜欢把业务逻辑放在sql语句里,支持事务(q.Attach(DbTransaction tran))。
最后感谢老赵在园子里写了那么多关于表达式树的文章!
相关文章推荐
- 原创linq对数据库进行操作(分页)
- 【玩转SQLite系列】(七)打造轻量级ORM工具类SQLiteDbUtil操作数据库
- [原创]在数据库中进行IP操作的解决方案
- 【ecshop 资料】ecshop对数据库测试数据进行清除操作。老杨ecshop原创
- 单独使用MFC CRecord类进行数据库操作(原创心得)
- 【玩转SQLite系列】(七)打造轻量级ORM工具类SQLiteDbUtil操作数据库
- QueryRunner 核心运行类;在一般情况下如果执行CRUD的操作; 使用核心类QueryRunner 对数据库进行 增删改
- 对SQL数据表和数据库进行迭代操作
- 使用SQLAlchemy对Firebird数据库进行操作
- [原创]C#.NET数据库操作记要
- java中通过调用oracle的function进行数据库操作
- oracle用shell脚本链接数据库进行操作
- 【原创】超简单的ASP操作数据库
- 使用QT对access数据库进行操作——数据库中表、记录和域的读取
- 【原创】封装数据库操作以及在Razol引擎中使用
- 不使用hibernate只使用struts2结构怎么对数据库进行操作
- Android 使用ORMLite 操作数据库
- ThinkPHP5-数据库操作和事务支持
- 使用存储过程进行数据库操作
- jquery easyui实现datagrid表格向数据库中进行增加,修改和删除操作