Maison > Article > base de données > Comment implémenter l'insertion par lots mysql BulkCopy
<ItemGroup> <PackageReference Include="SqlSugarCore" Version="5.1.3.52" /> </ItemGroup>
Conseil chinois : la chaîne de connexion BulkCopy MySql doit ajouter AllowLoadLocalInfile=true ; exécutez SET GLOBAL local_infile dans la base de données Mysql =1
Message en anglais : ajout de chaîne de connexion : AllowLoadLocalInfile=true
show global variables like 'local_infile'; SET GLOBAL local_infile=1
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace WebApplication3 { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton<ISqlSugarClient>(s => { SqlSugarScope sqlSugar = new SqlSugarScope(new ConnectionConfig() { DbType = SqlSugar.DbType.MySql, ConnectionString = "Server=192.168.31.132;User ID=root;Password=123456;Database=sugar;port=3306;AllowLoadLocalInfile=true", IsAutoCloseConnection = true, }, db => { //单例参数配置,所有上下文生效 db.Aop.OnLogExecuting = (sql, pars) => { }; }); return sqlSugar; }); services.AddControllersWithViews(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); } } }
HomeController.cs
using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using SqlSugar; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using WebApplication3.Models; namespace WebApplication3.Controllers { public class HomeController : Controller { private readonly ILogger<HomeController> _logger; private readonly ISqlSugarClient _sqlSugarClient; public HomeController(ILogger<HomeController> logger, ISqlSugarClient sqlSugarClient) { _logger = logger; _sqlSugarClient = sqlSugarClient; } public IActionResult Index() { _sqlSugarClient.Fastest<RealmAuctionDatum>().BulkCopy(GetList()); return View(); } public List<RealmAuctionDatum> GetList() { var datas = new List<RealmAuctionDatum>(); for (int i = 0; i < 10000; i++) { datas.Add(new RealmAuctionDatum { Name = Guid.NewGuid().ToString("N") }); } return datas; } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!