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!欢迎关注!

相关文章
相关标签/搜索