Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 实体框架数据的轻量级备份:XML、MDF还是DB?_.net_Entity Framework - Fatal编程技术网

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

.net 实体框架数据的轻量级备份:XML、MDF还是DB?,.net,entity-framework,.net,Entity Framework,我的任务是为我们的一些实体框架数据创建一个轻量级备份,以便在数据库完全崩溃的情况下维护基本服务。它是“轻量级”的,因为它只需要一小部分数据,而不是因为它看不到太多的工作 与此数据交互的类有一个接口,我可以使用该接口确定是否需要与完整数据库或“light”备份对话,并相应地实现方法。例如,“save”命令位于接口上,而不是数据类上,因此它可以执行简单的实体框架SaveChanges()或更复杂的操作。换句话说,我不必使用实体框架与数据的“轻”版本进行交互,尽管如果可以的话,这会让我的生活更轻松 问

我的任务是为我们的一些实体框架数据创建一个轻量级备份,以便在数据库完全崩溃的情况下维护基本服务。它是“轻量级”的,因为它只需要一小部分数据,而不是因为它看不到太多的工作

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

问题是,我不知道如何最好地执行此“轻”备份。我可以在需要时将数据保存为XML文件,或者直接从数据库保存为MDF。我想我不会有一个真正的实时数据库来工作。但我不知道这两种方法的好处或问题,甚至不知道它们在技术上是否可行


欢迎您的建议

我认为最终你会得到这样的结果,那就是编写自己的EF提供者(请参见和)。通过编写自己的提供者,您可以非常好地控制所发生的事情,甚至可以将其转换为Xml(尽管我不确定这是否可行……EF是关于SQL生成的)

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


说到这里,我认为把所有这些努力都花在建设可靠的基础设施上会更好。如果您担心数据库在负载下崩溃,请将其镜像到多个数据库服务器上,并将负载水平分布。

我认为最终的结果是编写自己的EF提供程序(请参阅和)。通过编写自己的提供者,您可以非常好地控制所发生的事情,甚至可以将其转换为Xml(尽管我不确定这是否可行……EF是关于SQL生成的)

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

说到这里,我认为把所有这些努力都花在建设可靠的基础设施上会更好。如果您担心数据库在负载下崩溃,请将其镜像到多个数据库服务器上,并将负载水平分布