Dos.ORM

上手简单,0学习成本。使用方便,按照sql书写习惯编写C#.NET代码。功能强大。

高性能,接近手写Sql。

体积小(不到150kb,仅一个dll)。

完美支持Sql Server(2000至最新版),MySql,Oracle,Access,Sqlite等数据库。

支持大量Lambda表达式写法,国产ORM支持度最高,开源中国ORM排行前三。

不需要像NHibernate的XML配置,不需要像EF的各种数据库连接驱动。

众多成熟企业软件、互联网项目已应用此框架。

遵循MIT开源协议,除不允许改名,其它随意定制修改。

Dos团队持续更新升级,任何Bug反馈都会立即得到解决。

配置数据库链接

public class DB{public static readonly DbSession Context = new DbSession("connectionStringsName");} 


使用

DB.Context.From<Model.table1>()    //Model.table1类通过Dos.ORM实体生成器生成   


 .Select(d => new { d.id, d.price })    
//Sql:SELECT id,price FROM table1    


.Select<table2,table3>((a,b,c) => a.id, b.name, c.sex)      
//Sql:SELECT table1.id, table2.name, table3.sex   


.LeftJoin<table2>((a, b) => a.id == b.id)       
//Sql LEFT JOIN Table2 ON table1.id = table2.id   


 .Where(d => (d.id != 2 && d.name.In("com","net")) || d.sex != null)        
  //Sql:WHERE (id <> 2 AND name IN('com','net')) OR sex IS NOT NULL    .GroupBy(d => new { d.name, d.sex })   


 //Sql:GROUP BY name,sex    
.OrderBy(d => new { d.createTime, d.name })       


 //Sql:ORDER BY createTime,name    
.Having(d => d.name != '')    


//Sql:HAVING name <> ''    .Top(5)    //取前5条数据    
.Page(10, 2)    //每页10条数据,取第2页 .ToList();    //默认返回List<table1>,也可自定义Map类.ToList<T>(); 


使用说明及案例:
http://www.itdos.com/dos/orm/index.html

Model代码生成器:
https://github.com/itdos/Dos.Tool ;

原文:
http://www.itdos.com/dos/orm/index.html

弱点:实体需要继承Dos.ORM 不利于分布式架构设计 

posted @ 2017-03-06 17:23  Tracy9999  阅读(968)  评论(0编辑  收藏  举报