0

我正在使用实体框架 4.0,我有一张桌子。在此表中,我在其中一个字段中有一个唯一约束。

添加新寄存器时,我执行以下操作:

1.-在现有记录中,我重新计算了唯一字段的值。该值取决于我要添加的新寄存器并更改所有寄存器中的值。

2.- 我计算新记录的唯一字段。

3.- 我添加具有唯一值的新寄存器。

在我进行保存更改的那一刻,我检查了寄存器的值,我可以看到在唯一字段中没有重复值。

但是,当我保存更改时,我得到一个唯一值的异常。这是因为我更改了现有寄存器之一的值,更改它并将该值分配给新记录。

我认为实体框架首先添加新记录以及其他记录如何仍然具有旧值,我得到了异常。EF不会先更新现有记录,然后添加新记录以确保比较正确的信息吗?

真的我猜是EF的正常行为吗?如果这是真的,我该如何解决这个问题?

谢谢。

4

0 回答 0