如果不使用,RavenDB禁止删除

时间:2012-02-12 22:07:54

标签: ravendb

我只是让用户在我的Raven DB中删除了两个文档。这引起了问题,因为其他文件引用了这些文件。我知道Raven有一个可以级联删除的包,但是我更想找到一种方法来禁止删除它是否被另一个文档引用。是否有标准的RavenDB方式吗?或者我是否需要遍历所有文档以检查文档是否被引用?

2 个答案:

答案 0 :(得分:1)

鲍勃,遗憾的是没有标准的方法来做到这一点,因为数据库本身并不知道文档之间的关系是什么。

因此,如果您想阻止用户删除这些文件,那么您必须检查自己是否有任何其他文件引用当前文件。

答案 1 :(得分:1)

正如丹尼尔所说,RavenDB并不了解文档之间的关联,所以它无法开箱即用。

但是,您可以实现自己的捆绑包并使用delete trigger功能否决/允许删除成功。

如果您想沿着这条路走下去,请查看Cascading Delete捆绑包的实施方式。你只需要做相反的事情。