c# - EntityState.Modified 以在单个语句中更新多条记录
问题描述
要更新具有唯一键约束的多条记录的单列,我尝试使用以下代码
foreach (var product in Products)
{
product.Position= Position;
db.Entry(product).State = EntityState.Modified;
}
db.SaveChanges();
下面是正在生成的 SQL
update "XXMES"."TB_PRODUCT"
set "POSITION" = :p0
where ("PRODUCT_ID" = :p1)
-- :p0: '6' (Type = Decimal)
-- :p1: '6586632' (Type = Int64)
即使我在单个事务中更新所有行,EF 正在生成 SQL,它一次更新一条记录,由于列上的唯一键约束导致以下异常,这是生成的 sql 所期望的,因为它Position
是唯一的。我正在尝试一种方法,SQL 生成查询以一次更新所有记录,因此不会违反约束。请让我知道是否有解决方法
ORA-00001: unique constraint (RWMES.TB_TRIM_PATTERN_SET_POS_UK) violated
解决方案
推荐阅读
- reactjs - 使用角色、testid 和类名反应渲染测试
- python - Jupyter notebook 无法从 nb_conda_kernels 找到 conda 环境的内核
- javascript - 如何使用 javascript 中的谷歌图表将 x 轴点交换为 y 轴
- c - 在 C 中创建新结构时如何正确分配足够的内存(malloc)?
- android-studio - 我可以在Android Studio的不同功能中两次初始化相同的图像吗
- python - python是否缓存或重新计算while循环操作的函数调用
- go - 是否可以在结构之间进行转换?
- c# - 如何根据可以在检查器中分配的变量将组件添加到游戏对象?
- python - Python,高效清除大列表
- php - Netsuite 从内部 ID 数组中获取 SalesOrder 事务