我正在使用 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
,int
默认为0
. 初始化对象时Task
,它的MyProperty
值将具有默认值0
. Entity Framework Extended 如何区分MyProperty
具有默认值 0,或者如果我试图将MyProperty
所有匹配的对象设置为其默认值 0 ,例如在每种情况下new Task { StatusId = 2 , MyProperty = 0}
创建的Task
对象将完全相同?