2013-05-20 101 views
0

嗨,在我的項目中,我們正在做一個導入,如果可以說產品。RavenDB和批處理API

我們將有一個Web服務,我們可能會得到10次調用一次導入,所以我們需要一個可以處理多個請求的事務。

導入將包含需要創建的新產品和需要更新的現有產品。

現在,我們可以知道產品是否已經在我們的系統中的唯一方法是查看我們想要導入的產品上的名稱或以前的名稱。

所以基本上我的問題是。

可以在這裏描述的交易API http://ravendb.net/docs/client-api/advanced/databasecommands,用於此處描述的批量API如http://ravendb.net/docs/1.0/client-api/advanced/databasecommands/batch。 (如果你閱讀批處理API文檔,這聽起來不是一起工作)。

如果不是我應該使用與事務相關的數據庫命令?但在數據庫命令的文檔中,我看不到如何連接事務引導和操作?

回答

0

處理這個問題最簡單的方法是在內存中聚合事物,最後只調用一次SaveChanges調用。

+0

感謝您的回答。這也是我閱讀文檔時的結論。但是我們寧願將所有內容都彙總在內存中,而寧願將批量物品批量存儲到商店中,但在一次交易中有多個批次。第三部分將例如給我們一個唯一的導入會話ID並向我們發送一些項目,我們希望以同樣的方式使用ravendb,也許創建一個事務使用GUID存儲和會話,只是當最後一批進入時提交它。這不可能嗎? – NPehrsson

+0

RavenDB如何處理ravendb服務器端的事務。數據是否在內存中,直到事務提交或將其存儲在光盤上? – NPehrsson