ORM系列之一:Dos.ORM


閱讀目錄

引言

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特性指定對應的物理表,具體實體如下: 

  
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; }
    }
}
View Code

  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();
        }
    }
}
View Code

  成功查詢出5條數據,結果如下:

  

 

    Dos.ORM雖然是個輕量級的ORM框架,但是功能還是比較強大的,不僅支持普通的查詢,還支持關聯查詢、分頁、排序、分組等等。

  具體的可以參考官網:http://www.itdos.com/Dos/ORM/Index.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM