diff --git a/更新日志.md b/更新日志.md index 8cfd56b..56bbbff 100644 --- a/更新日志.md +++ b/更新日志.md @@ -10,7 +10,7 @@ - 增加 IDbFirst.GetTableByName 方法获取单表信息,包括列详情、主键、唯一键、索引、备注; - 增加 ICodeFirst.SyncStructure 强制同步参数 isForceSync #412; - 增加 ISelect<2..10> 多表 WithSql 方法; -- **增加 扩展包 [FreeSql.Extensions.AdoNet](https://github.com/dotnetcore/FreeSql/blob/master/Extensions/FreeSql.Extensions.AdoNet/readme.md)** #267; +- **增加 IDbConnection/IDbTransaction 对象的扩展方法 Select/Insert/Update/Delete 实现 CRUD** #267; - 修复 fsql.InsertOrUpdate 在同线程事务模式内使用的 bug #402; - 修复 fsql.Ado.ExecuteDataTable 当记录不存在时,未返回 Columns 设置 #403; - 修复 IInsert/IUpdate BatchProgress 异步执行不生效的 bug; diff --git a/骚操作.md b/骚操作.md index 2e81e6c..244b0c5 100644 --- a/骚操作.md +++ b/骚操作.md @@ -459,4 +459,27 @@ class Order { 说明:SnowflakeAttribute 是使用者您来定义,new Snowflake().GetId() 也是由使用者您来实现 -如果命名规范,可以在 aop 里判断,if (e.Property.Name == "createtime") e.Value = DateTime.Now; \ No newline at end of file +如果命名规范,可以在 aop 里判断,if (e.Property.Name == "createtime") e.Value = DateTime.Now; + +# 16、Ado.Net 扩展方法 + +提供了类似 Dapper 的使用方法,FreeSql 增加了 IDbConnection/IDbTransaction 对象的扩展方法 Select/Insert/Update/Delete 实现 CRUD。 + +```csharp +using (var conn = new SqlConnection("")) +{ + conn.Select().Where(...).ToList(); + + conn.Insert(new T {}).ExecuteAffrows(); + + conn.Update().SetSource(new T {}).ExecuteAffrows(); + + conn.Delete().Where(...).ExecuteAffrows(); + + IFreeSql fsql = conn.GetFreeSql(); //获取 IFreeSql 实例,然后可以设置 Aop +} +``` + +利用本功能可以快速将 FreeSql 使用到项目中,只需要处理好实体类的特性。 + +提示:FreeSql 兼容 EFCore 99% 的实体特性 \ No newline at end of file