阅读目录
引言
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]
View Code
3.2. 实体类
创建好表之后,接着我们就要创建对应的实体类,当然这个可以通过工具去自动生成,此处我们还是手动去创建,切记,实体类必须派生自Entity.cs,而且必须增加Table特性指定对应的物理表,具体实体如下:
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了,一个非常简单的查询实例,具体实现代码如下:
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条数据,结果如下:
Dos.ORM虽然是个轻量级的ORM框架,但是功能还是比较强大的,不仅支持普通的查询,还支持关联查询、分页、排序、分组等等。