2011-02-15 106 views
2

我一直负责为我们的一些实体框架数据创建一个轻量级的备份,这样可以在数据库总体崩溃的情况下维护一个裸机服务。这是“轻量级”的,因为这只需要一小部分数据,而不是它看不到太多的工作。实体框架数据的轻量级备份:XML,MDF或DB?

与此数据交互的类有一个接口,我可以使用它来确定是否需要与完整数据库或“轻”备份进行通信并相应地执行方法。因此,例如,“save”命令在接口上而不是数据类中,因此它可以执行简单的Entity Framework SaveChanges()或更复杂的事情。换句话说,我不使用实体框架与我的数据的“轻”版本进行交互,尽管如果我可以使我的生活更容易。

问题的确是我不知道如何最好地执行这个“轻量级”备份。我可以将数据保存为需要的XML文件,或直接从数据库中保存MDF。我不认为我会有一个实际的活DB来处理。但我不知道任何一种方法的好处或问题,或者即使它们在技术上可行。

建议欢迎!

回答

0

我认为最终你会在这里写下你自己的EF提供者(请参阅herehere)。通过编写你自己的提供者,你可以非常精确地控制发生的事情,甚至可能将它分流到Xml(尽管我不确定这是否可能...... EF是关于SQL生成的)。

一旦你有了这个提供者,你就可以像任何东西一样生成EF代码。

说完所有这些,我认为所有这些努力都花在构建可靠的基础架构上。如果您担心db在负载下崩溃,请将其镜像到多个db服务器并水平分布负载。