实体框架数据的轻量级备份:XML,MDF还是DB?

时间:2011-02-15 10:06:29

标签: .net entity-framework

我的任务是创建一些实体框架数据的轻量级备份,这样可以在数据库完全崩溃的情况下维护一个简单的服务。它的“轻量级”在某种意义上说,只需要一个微小的数据子集,而不是在它看起来不会有太多工作的意义上。

与此数据交互的类具有一个接口,我可以使用该接口来确定是否需要与完整数据库或“轻量级”备份进行通信并相应地实现方法。因此,例如,“save”命令位于接口而不是数据类上,因此它可以执行简单的Entity Framework SaveChanges()或更复杂的操作。换句话说,我不 使用实体框架与我的数据的“轻”版本进行交互,尽管如果可能的话,它会让我的生活变得更轻松。

问题实际上是我不知道如何最好地执行这种“轻量级”备份。我可以将数据保存为需要的XML文件,或者直接从数据库保存MDF。我认为我没有一个真正的实时数据库可供使用。但我对这两种方法的好处或问题一无所知,即使它们在技术上是可行的。

建议欢迎!

1 个答案:

答案 0 :(得分:0)

我认为最终你最终会在这里编写自己的EF提供商(请参阅herehere)。通过编写自己的提供程序,您可以对发生的事情进行非常精细的控制,甚至可能将其分流到Xml(虽然我不确定这是否可能...... EF是关于SQL生成的。)

拥有该提供程序后,您可以像生成任何内容一样生成EF代码。

说完所有这些之后,我认为所有这些努力都要花在构建可靠的基础设施上。如果您担心数据库在负载下崩溃,请将其镜像到多个数据库服务器并水平扩展负载。