0

我在两个表之间有一个零对一的关联。例如,我有实体Car和实体License,而汽车可以有 0 或 1 个许可证。
(一辆车可以有一个许可证,但一个许可证可以有 0 或 1 辆汽车)当我尝试删除汽车的许可证时,通过设置Car.License = null我得到一个例外,例如:

来自“Car_Licence”AssociationSet 的关系处于“已删除”状态。给定多重约束,相应的“许可证”也必须处于“已删除”状态。

我希望许可证保留在主许可证 DbSet 中,并且我希望保留对 Car 的引用,我希望将 Car 的许可证设置为 null。

我错过了什么?

4

1 回答 1

0

设置Car.Licensenull与您设置的关联冲突,其中汽车必须设置一个许可证。您需要更改您的关联,以便汽车可以拥有一个或零个许可证才能运行。

编辑

如果要使该属性为空,则必须将关联的两端设置为零或一。

于 2013-07-28T12:40:56.923 回答