我正在使用实体框架 4.0,我有一张桌子。在此表中,我在其中一个字段中有一个唯一约束。
添加新寄存器时,我执行以下操作:
1.-在现有记录中,我重新计算了唯一字段的值。该值取决于我要添加的新寄存器并更改所有寄存器中的值。
2.- 我计算新记录的唯一字段。
3.- 我添加具有唯一值的新寄存器。
在我进行保存更改的那一刻,我检查了寄存器的值,我可以看到在唯一字段中没有重复值。
但是,当我保存更改时,我得到一个唯一值的异常。这是因为我更改了现有寄存器之一的值,更改它并将该值分配给新记录。
我认为实体框架首先添加新记录以及其他记录如何仍然具有旧值,我得到了异常。EF不会先更新现有记录,然后添加新记录以确保比较正确的信息吗?
真的我猜是EF的正常行为吗?如果这是真的,我该如何解决这个问题?
谢谢。