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