2011-02-15 61 views
2

我一直負責爲我們的一些實體框架數據創建一個輕量級的備份,這樣可以在數據庫總體崩潰的情況下維護一個裸機服務。這是「輕量級」的,因爲這隻需要一小部分數據,而不是它看不到太多的工作。實體框架數據的輕量級備份:XML,MDF或DB?

與此數據交互的類有一個接口,我可以使用它來確定是否需要與完整數據庫或「輕」備份進行通信並相應地執行方法。因此,例如,「save」命令在接口上而不是數據類中,因此它可以執行簡單的Entity Framework SaveChanges()或更復雜的事情。換句話說,我不使用實體框架與我的數據的「輕」版本進行交互,儘管如果我可以使我的生活更容易。

問題的確是我不知道如何最好地執行這個「輕量級」備份。我可以將數據保存爲需要的XML文件,或直接從數據庫中保存MDF。我不認爲我會有一個實際的活DB來處理。但我不知道任何一種方法的好處或問題,或者即使它們在技術上可行。

建議歡迎!

回答

0

我認爲最終你會在這裏寫下你自己的EF提供者(請參閱herehere)。通過編寫你自己的提供者,你可以非常精確地控制發生的事情,甚至可能將它分流到Xml(儘管我不確定這是否可能...... EF是關於SQL生成的)。

一旦你有了這個提供者,你就可以像任何東西一樣生成EF代碼。

說完所有這些,我認爲所有這些努力都花在構建可靠的基礎架構上。如果您擔心db在負載下崩潰,請將其鏡像到多個db服務器並水平分佈負載。