NET6対応!EF Coreでバッチ更新、削除、挿入を行うフレームワークZack.EFCore.Batch

NET6対応!EF Coreでバッチ更新、削除、挿入を行うフレームワークZack.EFCore.Batch

`EF Core`で`一括`で`更新`、`削除`、`挿入`を行うフレームワーク`Zack.EFCore.Batch`の新バージョンがリリースされました。新バージョンでは`.NET 6`に対応し、データの一括挿入時に`ValueConverter`をサポートし、`「データ更新時、2つの列の式が等価な場合に発生するThe count of columns should be even例外」`を完全に解決しました。

最終更新 2021/12/25 19:23
杨中科
読了目安 1 分
カテゴリ
EF Core
タグ
.NET C# EF Core ORM 一括挿入

私が開発したEF Coreバッチ更新削除挿入を実行するフレームワークZack.EFCore.Batchの新バージョンをリリースしました。この新バージョンでは、.NET 6のサポートが追加され、データのバッチ挿入時にValueConverterをサポートするようになりました。また、「更新データ時に、2つの列の式が等価な場合に発生するThe count of columns should be even例外」を完全に解決しました。

現在、プロジェクトは200以上のスターを獲得し、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

さらに探索

関連読書

その他の記事