0

我正在使用 MYSql 数据库和实体框架作为它的 ORM。我有两个表:表 A 和表 B。表 A 有一个字段,它是表 B 中某个字段的外键。这个键的约束是:更新:限制,删除:限制所以情况:

  • 当我尝试从表 B 中删除记录时,一切正常
  • 当我尝试从表 B 中删除一条记录并且该记录被表 A 中的另一条记录引用时,它什么也不做,并且应该是 ofc。
  • 当我尝试从被引用的表 B 中删除一条记录时,它什么也不做,但如果我在此之后尝试从表 A 中删除一条从表 B 中引用该记录的记录,那么这两条记录似乎都被删除了。但只应删除表 A 中的记录。

所以我假设有某种缓存可以缓存不成功的查询并在可能的情况下尝试执行它。

如果我的话很模糊,我会尝试发布一些图片=)

啊,问题是:任何人都可以清除这种情况吗?)

4

1 回答 1

0

解决了这个问题。没有缓存或类似的东西 =) 我试图删除的只是实体对象被标记为 EntityState.Deleted 并且尽管抛出了异常,但状态没有回滚。

于 2012-12-14T09:11:21.783 回答