EntityFramework和EntityFramework核心处理更新命令加自列

时间:2016-12-09 09:44:33

标签: entity-framework entity-framework-6 entity-framework-core

我有这样的情况:

UPDATE TABLE_ABC
SET NAME = NAME + 'XXX_AA'

如果没有在EntityFramework或EF Core中使用SqlRaw循环C#,如何处理。 我需要Pure Sintax Linq或Lambda和EF / EFCore。 谢谢高级。

1 个答案:

答案 0 :(得分:0)

如果你不想运行原始SQL命令(为什么不呢?它更快)并且想要使用EF - 你应该从DB读取实体到内存(选择/加载),在内存中处理它们(对于/ foreach)并保存回DB:

var entities = await dbContext.myEntity.ToListAsync();
foreach(var enitity in entities) {
  entity.Name += "AAA";
}
await dbContext.SaveChangesAsync();

这慢得多。

对于EF 6,您可以尝试EntityFramework.Extended并使用它构建UPDATE命令。