我是实体框架的新手,我很喜欢我所看到的,但现在我试图将其付诸实践。我正在做一个"任务"包含必须完成的任务列表的网站。
场景如下:任务必须通过以下方式完成:(a)一个玩家或(b)一个阵营。它不能由玩家和派系完成。
派系可以由许多玩家组成。这种情况非常简单。
好吧,在EF之前,我可以轻松地在桌面上设置约束。该表的架构可能如下所示:
任务
此外,我还有一个检查约束,例如......
(PlayerID IS NOT NULL且FactionID为NULL)或(PlayerID为IS NULL且FactionID为非NULL)或(PlayerID为IS NULL或FactionID为空)
这会阻止同时填充PlayerID和FactionID,因为任务只能由玩家或派系满足,但不能同时满足。此外,如果PlayerID和FactionID均为NULL(有效),则表示该任务尚未分配给玩家或阵营。有了这个约束,我可以处理插入和更新,但是在有人试图填充这两个字段的情况下,DBMS也会处理数据完整性。
现在有了EF,我觉得我没有以前的控制权。我如何设计我的CLASSES和CRUD逻辑,以便保持我的约束?
谢谢。
Trecius