阅读目录

引言

1.为什么使用Dos.ORM

2.配置

3.开始使用

  3.1. 物理表

  3.2. 实体类

  3.3. 使用方法

引言

  Dos.ORM(原名Hxj.Data)于2009年发布,2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大、最活跃、最完善的国产ORM。初期开发过程中参考了NBear与MySoft,吸取了他们的一些精华,加入新思想,后期参考EF的Lambda语法进行大量扩展。

1.为什么使用Dos.ORM 

  选择Dos.ORM的理由:

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

  2.轻量级,只有一个dll文件(不到200KB),相比于EF,NHibernate这些重量级的ORM框架,实在是太小。

  3.支持各种不同主流数据库,例如:SQL Server,MySql,Oracle,Sqlite,Access等等。

  4.高性能,接近手写sql

  5.支持Lambda表达式写法

  6.国产的优秀ORM框架,必须支持

2.配置

  Dos.ORM的配置非常简单,只需要简单的一句代码即可,不过配置文件中必须存在对应的节点,不然运行时会报错。

  配置代码如下:

  

  配置文件信息如下:

  

  就是这么简单,一句话搞定。

3.使用Dos.ORM

  3.1. 物理表

  正式使用Dos.ORM框架之前,我们要先创建对应的表,该实例中只创建一个简单的学生表,代码脚本如下:  

  

CREATE TABLE [dbo].[T_Student](
[Id] [uniqueidentifier] NOT NULL,
[Name] [varchar](50) NULL,
[IDNumber] [varchar](50) NULL,
[MobilePhone] [varchar](50) NULL,
[ClassId] [uniqueidentifier] NULL,
[CreateTime] [datetime] NOT NULL,
CONSTRAINT [PK_TableSqlServer] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

  3.2. 实体类

  创建好表之后,接着我们就要创建对应的实体类,当然这个可以通过工具去自动生成,此处我们还是手动去创建,切记,实体类必须派生自Entity.cs,而且必须增加Table特性指定对应的物理表,具体实体如下: 

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dos.ORM; namespace QYH.DosORM.Test.Model
{
[Table("T_Student")]
[Serializable]
public class Student:Entity
{
public Guid Id { get; set; } public string Name { get; set; } public string IDNumber { get; set; } public string MobilePhone { get; set; } public Guid? ClassId { get; set; } public DateTime CreateTime { get; set; }
}
}

  3.3使用方法

  一切准备就绪,现在就可以使用Dos.ORM了,一个非常简单的查询实例,具体实现代码如下:  

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dos.ORM;
using QYH.DosORM.Test.Model; namespace QYH.DosORM.Test
{
class Program
{
static void Main(string[] args)
{
var list = DB.Context.FromSql("SELECT TOP 5 * FROM T_Student")
.ToList<Student>(); foreach (var item in list)
{
Console.WriteLine(item.Name+" "+item.IDNumber);
} Console.Read();
}
}
}

  成功查询出5条数据,结果如下:

  

   Dos.ORM虽然是个轻量级的ORM框架,但是功能还是比较强大的,不仅支持普通的查询,还支持关联查询、分页、排序、分组等等。

  具体的可以参考官网:http://www.itdos.com/Dos/ORM/Index.html

ORM系列之一:Dos.ORM的更多相关文章

  1. CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

    前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...

  2. dos.orm学习地址

    os.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内.Net用户量最多.最活跃.最完善的国产ORM.初期开发过程参考了NBear与MySo ...

  3. Dos.ORM Select查询 自定义列

    自定义列 .Select( p = >new{ test = p.id}) // 同sql 列名 as 新列名 如下是 自己在写代码的例子,查询,分页,where条件,排序 var where ...

  4. ORM系列之Entity FrameWork详解

    一. 谈情怀 从第一次接触开发到现在(2018年),大约有六年时间了,最初阶段连接数据库,使用的是[SQL语句+ADO.NET],那时候,什么存储过程.什么事务 统统不理解,生硬的将SQL语句传入SQ ...

  5. dos.orm的事务处理

    dos.orm也包含事务处理,没有太多封装,这里有几个简单的示例代码. using (DbTrans trans = DbSession.Default.BeginTransaction()) { D ...

  6. dos.orm

    引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...

  7. Dos.ORM - 目录、介绍

    引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...

  8. Dos.ORM logo.Net轻量级开源ORM框架 Dos.ORM

    http://www.oschina.net/p/dos-orm http://www.oschina.net/project/lang/194/csharp http://www.cnblogs.c ...

  9. dos.ORM配置和使用

    处理oralce,sqlserver,access及其他常用数据库,下载和学习地址 1.web.config配置数据库连接字符串,以及数据库类型: <connectionStrings>& ...

随机推荐

  1. Codeforces 682B New Skateboard(DP)

    题目大概说给一个数字组成的字符串问有几个子串其代表的数字(可以有前导0)能被4整除. dp[i][m]表示字符串0...i中mod 4为m的后缀的个数 通过在i-1添加str[i]字符转移,或者以st ...

  2. 【原】iOS学习44之动画

    1. 简单动画 1> UIImageView GIF 动画 GIF图的原理是:获取图片,存储在图片数组中,按照图片数组的顺序将图片以一定的速度播放 UIImageView *showGifima ...

  3. background-attachment 定义背景图片随滚动轴的移动方式

  4. Android 魅族等SmartBar适配

    通过反射获取是否含有SmartBar: /** * 判断是否有SmartBar */ private boolean hasSmartBar() { // SP存储是否显示SmartBar if (! ...

  5. ACM 一种排序

    一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数 ...

  6. ASP.NET状态保持方案若干

    客户端方案: 1.ViewState 2.隐藏域 3.cookie 大小4KB限制,不消耗服务器资源,可配置到期时间,但安全性不高,还被客户端禁用. 4.QueryString 方法简单,但不安全,有 ...

  7. thinkphp常用Config.php配置项

    <?php return array( //'配置项'=>'配置值' 'DB_HOST' => 'localhost', 'DB_USER' => 'root', 'DB_PW ...

  8. PHP面向对象学习一

    1. 抽象性 ,  2. 封装性 ,3.共享性 ,4. 强调对象结构而不是程序结构 面向对象的三大特点(封装,继承,多态)缺一不可 class MyPc{ ———创建一个名为 MyPc的类,class ...

  9. UpdatePanel完成后调用js

    引言: asp.net 微软引入了UpdatePanel 使用起来很方便 如果 我们想UpdatePanel加载完成后做一些事情 需要使用js <script type="text/j ...

  10. ArcGIS几种数据格式

    ArcGIS几种数据格式 ArcInfo常用以下格式的数据:shp.Coverage..Raster CAD和Geodatabase.各种数据的组织形式不一样,其中shp.Coverage.Raste ...