0

我正在使用 EF 4.1,在我的应用程序的某个时刻,我通过执行以下操作从实体读取满足条件的所有数据:

context.Entity.Where(<condition>)

然后,我通过循环遍历它们,并在特定情况下将其中一些存储到字典中(键值是实体的 ID,值是整个对象)。

后来,在我的应用程序的另一点,我读取了存储在字典中的所有对象并更新了它们。

更新它们后,我在上下文上执行 SaveChanges,(上下文与读取整个实体和存储在字典中的项目时使用的上下文相同。

所以在这一点上,我想知道当我执行 savechanges 时,数据是否被发送到数据库并正确更新,因为我不确定修改的对象是否来自字典,我不知道 EF 是否如此智能要知道它应该更新数据库。

4

1 回答 1

1

字典以及 EF 上下文保存对对象的引用。只要不释放上下文,它就能够跟踪更改。

换句话说,将您的实体放在字典(或列表或任何其他收集方式)中对实体及其上下文没有影响。

于 2013-06-20T10:04:52.043 回答