Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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
Asp.net mvc 使用ef/codefirst和sql server将mvc2迁移到mvc4到inmemory数据库_Asp.net Mvc_In Memory Database - Fatal编程技术网

Asp.net mvc 使用ef/codefirst和sql server将mvc2迁移到mvc4到inmemory数据库

Asp.net mvc 使用ef/codefirst和sql server将mvc2迁移到mvc4到inmemory数据库,asp.net-mvc,in-memory-database,Asp.net Mvc,In Memory Database,我的ASP.NET mvc2 web应用程序已经在两台机器上运行,并与sql server连接。我的数据库最大容量为200mb。我想将我的web应用程序迁移到使用mvc4和EF,还想通过删除sql server使用一些内存中的数据库 我在互联网上进行了检查,我可以将我的应用程序迁移到mvc4和EF,但我在memomry数据库中找不到关于我可以首先使用EF/Code的帮助。另外,如何将inmemory数据库备份到一些基于web的存储,如Amazon S3或Azure存储?首先,为什么要使用内存数据

我的ASP.NET mvc2 web应用程序已经在两台机器上运行,并与sql server连接。我的数据库最大容量为200mb。我想将我的web应用程序迁移到使用mvc4和EF,还想通过删除sql server使用一些内存中的数据库


我在互联网上进行了检查,我可以将我的应用程序迁移到mvc4和EF,但我在memomry数据库中找不到关于我可以首先使用EF/Code的帮助。另外,如何将inmemory数据库备份到一些基于web的存储,如Amazon S3或Azure存储?

首先,为什么要使用内存数据库?Sql数据库具有很高的可靠性和查询能力

当使用两台服务器时,内存中的数据库不起作用,因为内存对于每台服务器都是本地的。您可以使用分布式缓存或其他方法来实现这一点

实体框架不适合此场景。它是一个对象关系数据库映射器。在内存中数据库中使用它是没有意义的。ORM将对象转换为关系存储(如数据库)。在内存中,您只处理对象,因此不需要ORM


如果您的数据库只有200mb,则不会有任何性能问题。数据库针对您的场景进行了优化,类似实体框架的ORM将加快您的开发时间

我曾参与过一个项目,其中单元测试速度慢得令人无法接受,因为有些测试使用的是内存数据存储以外的任何东西。@CarlG单元测试是一个完全不同的故事。在运行单元测试时,应该避免使用数据库。如果使用数据库,则运行集成测试。您的项目中应该只有几个集成测试。单元测试可以持续运行,特别是在使用测试驱动开发时。在生成服务器上运行集成测试的频率可以降低。