2016-03-05 86 views
0

我在RavenDB(與ASP.NET MVC,C#一起使用)中有一個難得的問題,我希望有人能幫助我。RavenDB更新後不存儲文檔值

我會盡力解釋背景第一:

  • 所以基本上我有兩個文件存儲「人」(名字,姓氏,項目,..)和「項目」(名稱,代碼,teamMembers ,..)。
  • 每人都有一個或多個項目(例如,一個人做項目命名爲X)

問題:

  • 比如我的一個項目鏈接到一個人
  • 在此之後,每當我嘗試更新項目的一些屬性,該項目沒有得到保存。
  • 但是,當這個項目沒有鏈接到一個人,我可以編輯所有領域。

我的問題:

  • 是否有任何形式的阻止此更新安全選項之類的東西。更好:無論何時更改某些內容,是否可以更新所有文檔,無論是在人員還是項目中更改?

如果我的問題不夠清楚,我會嘗試以不同的方式解釋,謝謝你的幫助。

+0

顯示有問題的代碼肯定會有所幫助。理想情況下,您已經通過簡短的代碼示例將問題分離出來,您可以與我們分享,以便我們有討論的基礎。現在你的問題只是一些很難遵循的文本塊,沒有太多的上下文。 –

+0

你好,對於遲到的答案我很抱歉。這對我來說是愚蠢的,在某個地方我使用if來封鎖SaveChanges()。另外,我認爲我保存文檔的方法是錯誤的。我想我只需要保存和ID而不是整個文檔,這應該使它更加一致並且容易保存而不會出現問題。 – ishyfishy

回答

0

我沒有太多的意見來添加評論,然後我嘗試回答你的問題(它不是很清楚)。

看來你試圖在一個非相關數據庫上實現關係數據庫邏輯(想想這個)。

我想象一下,在項目列表中你有一個像「ProjectId」這樣的屬性指向保存的文檔Project/8(例如),這只是一個可以輕鬆加載該文檔的參考,但你必須加載它來編輯。

如果保存文檔Project/9,然後將其添加到「項目」列表中,則這些文件未連接,因此需要手動進行保存。

+0

這很有道理,我一直在使用關係數據庫,因爲我最近需要做一個切換,這就是爲什麼我一直在想這種方式。所以你基本上說保留項目和人員的ID列表將會有效地完成工作。或者你如何推薦它? 現在,我基本上存儲整個文檔項目,例如在文檔人..但它不是一個好方法,我想,因爲我需要加載並保存一切。 – ishyfishy

+0

未保存的問題通過這種方式解決了,它是一個阻塞SaveChanges的東西。愚蠢的問題從我身上。 但我的保存方法並不完全正確和有效。你猜對了我想要做的事,你能提供一些關於如何處理這個問題的更多信息嗎?我非常感謝幫助。 – ishyfishy

+0

這取決於你需要什麼以及你向用戶展示什麼,當然如果你想模擬多對多的關係,你的項目列表就變成了指向相關文檔的id列表(例如Project/8)。 – Embri