dos.orm.mysql_ORM系列之一:Dos.ORM

这篇博客介绍了Dos.ORM,一个轻量级、高性能的国产ORM框架,重点讲解了为什么选择它、如何配置、以及如何创建和使用实体类进行数据库操作。通过简单示例展示了如何查询MySQL数据库。
摘要由CSDN通过智能技术生成

阅读目录

引言

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的配置非常简单,只需要简单的一句代码即可,不过配置文件中必须存在对应的节点,不然运行时会报错。

配置代码如下:

c5e47cf292f1299305a1b371d94929e4.png

配置文件信息如下:

a3968a07a66f9537563ac595ba098862.png

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

3.使用Dos.ORM

3.1. 物理表

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

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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]

View Code

3.2. 实体类

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

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingDos.ORM;namespaceQYH.DosORM.Test.Model

{

[Table("T_Student")]

[Serializable]public classStudent: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; }

}

}

View Code

3.3使用方法

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

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingDos.ORM;usingQYH.DosORM.Test.Model;namespaceQYH.DosORM.Test

{classProgram

{static void Main(string[] args)

{var list = DB.Context.FromSql("SELECT TOP 5 * FROM T_Student")

.ToList();foreach (var item inlist)

{

Console.WriteLine(item.Name+" "+item.IDNumber);

}

Console.Read();

}

}

}

View Code

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

106bab259f7bbd7f276cacd976658dde.png

b4c1f12d2a5525b2870927d76c384053.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值