zoukankan      html  css  js  c++  java
  • FreeSql 扩展包实现 Dapper 的使用习惯

    简介

    FreeSql.Connection.Extensions 这是 FreeSql 衍生出来的扩展包,实现(Mysql/postgresql/sqlserver/Oracle/SQLite)数据库连接对象扩展方法,像 Dapper 一样的使用习惯。QQ群:4336577(已满)、8578575(在线)

    快速上手

    dotnet add package FreeSql.Connection.Extensions

    测试实体类

    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 一样的插入方法。

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

    更新

    和 FreeSql 一样的更新方法。

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

    删除

    和 FreeSql 一样的删除方法。

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

    事务

    就像 ado.net 那样使用即可。自己控制开启、提交或回滚事务。

    连接状态

    若 conn 连接对象未打开,内部使用时会 Open,使用完后 Close;

    若 conn 连接对象已打开,内部不重复 Open,使用完后也不 Close;

    更新日志

    • 增加 数据库对象.Select 方法;
    • 增加 数据库对象.Update 方法;
    • 增加 数据库对象.Insert 方法;
    • 增加 数据库对象.Delete 方法;
    • 增加 数据库对象.Query 执行 SQL 语句的查询方法;

    结语

    这个项目属于研究性目的,为之后 FreeSql.Abp 做铺垫。简单提及一下 FreeSql.Abp 是什么,有了它就可以在 Abp 项目中使用 FreeSql 了。

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

    做 .NETCore 最方便的 ORM!欢迎关注!

  • 相关阅读:
    AsyncTask 处理耗时操作&&显示进度条
    AutoCompleteTextView 自定义提示样式
    Android:Error:Execution failed for task ':app:clean'. > Unable to delete directory
    MaterialRefreshLayout+ListView 下拉刷新 上拉加载
    element table 表格 修改背景为透明并去除边框
    vue-element-admin 多层路由问题
    SQLServer 语句相关
    润乾报表
    v-charts
    sql 循环 ,随机数,循环插入一年数据
  • 原文地址:https://www.cnblogs.com/kellynic/p/10688043.html
Copyright © 2011-2022 走看看