引言:
Dos.ORM(原Hxj.Data)于2009年发布、2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大、最活跃、最完善的国产ORM。初期开发过程中参考了NBear与MySoft,吸取了他们的一些精华,加入新思想,后期参考EF的Lambda语法进行大量扩展。
为什么选择Dos.ORM(原Hxj.Data)?
上手简单,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>();
Dos.Tool代码生成器
用于生成Dos.ORM专用实体类,以及自定义模板生成业务逻辑代码等等。
Dos.ORM.Demo
含初级玩法demo之mvc简单三层(同时也是mvc学习者的入门教程)、中级玩法demo之repository、性能对比测试、数据库等
文章链接:http://www.iTdos.com/dos/orm/index.html
原创说明:转载IT大师原创文章时请保留原文链接,谢谢!
转载说明:本站转载文章均标明文章来源,若本篇转载侵犯了您的权益,请联系站长删除!
交流Q群:60831381
开源组件:Dos.ORM数据库组件