【发布时间】:2017-02-17 19:03:21
【问题描述】:
我正在使用 Entity Framework Extended 执行批量更新,就像其官方文档 (https://github.com/loresoft/EntityFramework.Extended/wiki/Batch-Update-and-Delete) 中的示例一样:
//update all tasks with status of 1 to status of 2
context.Tasks
.Where(t => t.StatusId == 1)
.Update(t => new Task { StatusId = 2 });
它有效,但我想知道内部工作原理。它如何处理Task 对象的默认值。假设它有一个名为MyProperty 的属性,它是一个默认为0 的int。当Task 对象被初始化时,它的MyProperty 值将具有默认值0。 Entity Framework Extended 如何区分具有 默认值 0 的 MyProperty,或者如果我尝试将所有匹配对象的 MyProperty 设置为其默认值 0,例如new Task { StatusId = 2 , MyProperty = 0} 作为创建的Task 对象在每种情况下都会完全相同?
【问题讨论】:
标签: entity-framework entity-framework-6 entity-framework-extended