FreeSql 擴展包實現 Dapper 的使用習慣

簡介

FreeSql.Connection.Extensions 這是 FreeSql 衍生出來的擴展包,實現(Mysql/postgresql/sqlserver/Oracle/SQLite)數據庫鏈接對象擴展方法,像 Dapper 同樣的使用習慣(QQ羣:4336577)。git

快速上手

dotnet add package FreeSql.Connection.Extensionsgithub

測試實體類sql

class TestConnectionExt {
    public Guid id { get; set; }
    public string title { get; set; }
    public DateTime createTime { get; set; } = DateTime.Now;
}

查詢

和 FreeSql 同樣的查詢方法。數據庫

using (var conn = new MySqlConnection(_connectString)) {
    var list = conn.Select<TestConnectionExt>().Where(a => a.id == item.id).ToList();
}

插入

和 FreeSql 同樣的插入方法。app

using (var conn = new MySqlConnection(_connectString)) {
    var item = new TestConnectionExt { title = "testinsert" };
    var affrows = conn.Insert<TestConnectionExt>().AppendData(item).ExecuteAffrows();
}

更新

和 FreeSql 同樣的更新方法。sqlserver

using (var conn = new MySqlConnection(_connectString)) {
    var affrows = conn.Update<TestConnectionExt>()
        .Where(a => a.Id == xxx)
        .Set(a => a.title, "testupdated")
        .ExecuteAffrows();
}

刪除

和 FreeSql 同樣的刪除方法。post

using (var conn = new MySqlConnection(_connectString)) {
    var affrows = conn.Delete<TestConnectionExt>()
        .Where(a => a.Id == xxx)
        .ExecuteAffrows();
}

事務

就像 ado.net 那樣使用便可。本身控制開啓、提交或回滾事務。測試

鏈接狀態

若 conn 鏈接對象未打開,內部使用時會 Open,使用完後 Close;ui

若 conn 鏈接對象已打開,內部不重複 Open,使用完後也不 Close;.net

更新日誌

  • 增長 數據庫對象.Select 方法;
  • 增長 數據庫對象.Update 方法;
  • 增長 數據庫對象.Insert 方法;
  • 增長 數據庫對象.Delete 方法;
  • 增長 數據庫對象.Query 執行 SQL 語句的查詢方法;

結語

這個項目屬於研究性目的,爲以後 FreeSql.Abp 作鋪墊。簡單說起一下 FreeSql.Abp 是什麼,有了它就能夠在 Abp 項目中使用 FreeSql 了。

gayhub: https://github.com/2881099/FreeSql

作 .NETCore 最方便的 ORM!歡迎關注!

相關文章
相關標籤/搜索