添加级联删除后无法生成SSDL
本文关键字:SSDL 级联 删除 添加 | 更新日期: 2023-09-27 18:06:51
我试图模拟(与设计师)这种情况:我有一个客户端(抽象)和两个派生实体:Private和Public。此外,我有一个地址和一个订单实体。Private 具有 1个"永久地址"属性,Public 具有 1个"注册地址"属性。我这样建模:
私人(0 . . 1)->(1)地址和公共(0 . . 1)->(1)地址
现在,每个客户端,可以有更多的订单。1订单有收货地址:
客户端(1)->(*)订单
订单(0 . . 1)->(1)地址
所有的地址都定义为导航属性。
如果我现在构建模型,它可以工作,但是当我从上下文中删除客户端时,在我的地址表中保留地址。所以我尝试为每个连接添加一个END1级联删除地址实体。
在构建时,我得到以下错误:
地址相关实体之间的连接由名为"CsdlToSsdlAndMslActivity"的活动生成的SSDL无效,并且有以下错误:
关系"{1}"上的结束"{0}"不能指定操作,因为它的多重性是"*"。不能在具有多个'*'的端指定操作。
怎么了?
当聚合实体被删除时,不能级联删除。确保将Cascade
放在正确的端,即代表父/所属实体的端。
在您的情况下,我会尝试将Cascade
放在End2
上。