閱讀目錄
引言
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