FreeSql 扩展包实现 Dapper 的使用习惯
简介
提示,这个功能已经默认集成到 FreeSql.dll 中,无须引用 FreeSql.Connection.Extensions.dll
FreeSql.Connection.Extensions 这是 FreeSql 衍生出来的扩展包,实现(Mysql/postgresql/sqlserver/Oracle/SQLite)数据库连接对象扩展方法,像 Dapper 一样的使用习惯。QQ群:4336577(已满)、8578575(在线)、52508226(在线)
快速上手
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!欢迎关注!