1. 程式人生 > 資料庫 >ASP.NET Core學習之六 MYSQL批量插入

ASP.NET Core學習之六 MYSQL批量插入

目的:運用EntityFrameworkCore批量插入資料

一、專案環境

  環境:.NET Core 3.1, abp 5.1.0

如果使用sqlserver,推薦使用EFCore.BulkExtensions 

二、實現程式碼

`

using Abp.EntityFrameworkCore;

public class TestAppService
{
private readonly IDbContextProvider _dbContextProvider;

public EvaluationAppService(IDbContextProvider<TestDbContext> dbContextProvider)            
{
	_dbContextProvider = dbContextProvider;
}

/// <summary>
/// 批量插入
/// </summary>
/// <param name="inputs"></param>
/// <returns></returns>
private async Task BatchInsert(List<CreateInput> inputs)
{
	List<TestEntity> entities = new List<TestEntity>();
	foreach (var item in inputs)
	{
		var entity = ObjectMapper.Map<TestEntity>(item);
		entities.Add(entity);
	}
	if (entities.Count > 0)
	{
		var dbContext = _dbContextProvider.GetDbContext();
		await dbContext.TestEntity.AddRangeAsync(entities);
	}
}

}

`