SqlSugar批量添加修改问题

本文介绍了在使用Entity Framework Core时,如何避免在批量添加或修改数据时共用同一个数据库上下文导致的错误。通过使用局部上下文进行区分,可以有效防止此类错误的发生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接InsertRange空集合会报错,如果我们是同时执行多个添加或修改,不要共用一个上下文,最好是在方法里面声明上下文进行区分,不然容易报错

//如果同时执行多个添加,更新 操作不要共用一个上下文,使用局部上下文进行区分,不然报错
//private static DbContext dbContext = new DbContext();       

if (addList.Count>0) { dbContext.FsFactories.InsertRange(addList); } if (updateList.Count>0) { dbContext.FsFactories.UpdateRange(updateList); }

 

转载于:https://www.cnblogs.com/Sea1ee/p/10231026.html

如果您使用的是Sugar ORM(一个C#开发的轻量级ORM框架),可以通过批量添加实体来提高性能。以下是一个示例代码,展示了如何使用Sugar ORM进行批量添加实体: ```csharp using SqlSugar; using System.Collections.Generic; public class Entity { [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } public class Program { public static void Main() { // 配置数据库连接字符串 string connectionString = "YourConnectionString"; // 创建SqlSugarClient实例 SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = connectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute }); // 创建实体列表 List<Entity> entities = new List<Entity>() { new Entity() { Name = "John", Age = 25 }, new Entity() { Name = "Jane", Age = 30 }, new Entity() { Name = "Tom", Age = 28 } }; // 批量插入实体 db.Insertable(entities).ExecuteCommand(); } } ``` 在上述示例中,我们首先配置数据库连接字符串,并创建一个`SqlSugarClient`实例。然后,我们创建一个包含多个实体对象的列表。最后,使用`Insertable`方法将实体列表传递给`ExecuteCommand`方法,以批量插入实体到数据库中。 请确保在示例代码中替换`YourConnectionString`为实际的数据库连接字符串,并根据您的实际情况进行适当的修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值