FreeSql 扩展包实现 Dapper 的使用习惯

1|0简介

提示,这个功能已经默认集成到 FreeSql.dll 中,无须引用 FreeSql.Connection.Extensions.dll

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

2|0快速上手

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

2|1查询

和 FreeSql 一样的查询方法。

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

2|2插入

和 FreeSql 一样的插入方法。

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

2|3更新

和 FreeSql 一样的更新方法。

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

2|4删除

和 FreeSql 一样的删除方法。

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

2|5事务

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

2|6连接状态

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

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

2|7更新日志

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

3|0结语

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

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

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


__EOF__

本文作者FreeSql & CSRedis
本文链接https://www.cnblogs.com/kellynic/p/10688043.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   nicye  阅读(1924)  评论(9编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示