Microsoft.EntityFrameworkCore.InMemory替代EF非核心吗?

时间:2019-06-09 23:55:51

标签: entity-framework

我继承了一个大型的旧项目,该项目广泛使用了Entity Framework(非核心),并且实际上没有任何测试。它利用了一些功能,这些功能将不允许我升级到ASP.NET Core或EF Core,至少现在还没有。无论如何,我想建立足够的测试来使我对代码充满信心。这是当我意识到Microsoft.EntityFrameworkCore.InMemory将对我不可用时。是否有其他选择可以让我以相同的方式对EF非核心进行单元测试?

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现EFFORT(https://entityframework-effort.net/)可以作为NuGet下载(请确保您引用的版本正确)。它基本上类似于Microsoft.EntityFrameworkCore.InMemory,但也可以在非Core中工作。之所以有效,是因为您将测试项目的app.config更改为指向EFFORT提供的内存中SQL提供程序。我的测试用例可以正常工作,而无需任何自定义代码(我像真实的东西一样使用它)。我看到的唯一缺点是我的EFFORT测试用例有点慢(200 + ms)。无论如何,当我最终可以过渡到ASP.NET Core时,我的测试应该能够保持不变。