【发布时间】:2015-10-28 23:56:40
【问题描述】:
有没有一种方法可以更新单个表/实体,而无需先将实体读入列表。 这是我想要实现的sql。
更新表集 col1 = Case col2 When 0 then 1 else 0 end 这会在一秒钟内更新大约 500,000 条记录
我不想做
List<table> updRecs = Context.tables.toList();
for each
{
if(col1 == 0)
col2 = true
else
col2 = false
}
Context.SaveChanges();
上面非常慢,大约 4 分钟。
【问题讨论】:
-
您能否向我们提供有关您的用例的更多信息?您可以运行原始 SQL 或存储过程,但这听起来很奇怪
-
听起来你可能想看看EntityFramework.Extended。
-
在循环之前禁用更改跟踪并在之后激活它(ctx.Configuration.AutoDetectChangesEnabled = false)
标签: c# entity-framework entity-framework-6