나는이 게시물의 제목이 어떤 사람들을 싫어하게해야한다는 것을 안다. 필자는 2011 년 12 월부터 RavenDB를 사용해 왔으며 문서 DB를 사용하지 않는 방식으로 데이터를 모델링했음을 깨닫게되었습니다. 첫째, 나는 그것을 완전히 얻는다. 둘째, 현재 상황을 고려할 때 시나리오가 올바르게 작동 할 수있는 방법이 있기를 바랍니다.RavenDB와의 참조 무결성
시나리오 : 데이터베이스에서 특정 Foo 문서를 삭제하고 싶습니다. 그러나 다른 문서에서 해당 문서를 참조하는 경우 해당 문서를 삭제하고 싶지 않습니다. 이 작품
public void Delete(Foo foo)
{
VerifyFooNotUsedByBar(foo); // Make sure no bars reference this foo
VerifyFooNotUsedBySnuh(foo); // Make sure no snuhs reference this foo
// What happens if some other user causes this foo to be referenced
// by a bar, right now?
new GenericData().Delete(foo);
}
, 그러나 ... foo는이 내가 그들에 대한 검사를 할 후, 다른 것을 참조 할 수있는 기회가있다 : 그래서, 나는이 일을했습니다. 이 전체 메서드가 완료 될 때까지 다른 변경 사항을 잠글 수있는 방법이 있습니까?
"나는이 방법으로 문서 DB를 사용하여 자신을 망쳤습니다." 나는 현재의 문제를 해결할 방법이 있기를 바라고있다.