支持.net6! ef core中批量執行更新、刪除、插入數據的框架zack.efcore.batch

支持.net6! ef core中批量執行更新、刪除、插入數據的框架zack.efcore.batch

在`ef core`中`批量`執行`更新`、`刪除`、`插入`數據的框架`zack.efcore.batch`已經發布新版,新版增加了對`.net 6`的支持,數據批量插入的時候支持`valueconverter`,徹底解決了`“更新數據的時候,當兩列的表達式等價時候出現的the count of columns should be even異常”`。

最后更新 2021/12/25 下午7:23
杨中科
预计阅读 2 分钟
分类
EF Core
标签
.NET C# EF Core ORM 批量插入

我开发的在EF Core批量执行更新删除插入数据的框架Zack.EFCore.Batch已经发布新版,新版增加了对.NET 6的支持,数据批量插入的时候支持ValueConverter,彻底解决了“更新数据的时候,当两列的表达式等价时候出现的The count of columns should be even异常”

目前項目已經有 200 多個 star,解決了 40 多個 issue,所以比較成熟了。

使用這個庫,我們可以用如下的方式進行數據的批量更新、刪除:

await ctx.DeleteRangeAsync<Book>(b => b.Price > n || b.AuthorName == "zack yang");

await ctx.BatchUpdate<Book>()
    .Set(b => b.Price, b => b.Price + 3)
    .Set(b => b.Title, b => s)
    .Set(b => b.AuthorName,b=>b.Title.Substring(3,2)+b.AuthorName.ToUpper())
    .Set(b => b.PubTime, DateTime.Now)
    .Where(b => b.Id > n || b.AuthorName.StartsWith("Zack"))
    .ExecuteAsync();

Zack.EFCore.Batch支持数据的批量快速插入

当然,如果您使用SqlSugarDapper之类的ORM也可以实现类似的效果,我这个库最大的特色就是它是基于EF Core的扩展,可以复用EF Core的特性。如果您不使用EF Core,那么可以忽略它。

原文作者:楊中科

原文連結:https://mp.weixin.qq.com/s/MYxVGxa_DQnn4XMIDryd9Q

項目地址:https://github.com/yangzhongke/Zack.EFCore.Batch

Keep Exploring

延伸阅读

更多文章