ASP.NET Core學習之六 MYSQL批量插入
阿新 • • 發佈:2021-01-06
目的:運用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); } }
}
`