Entity framework Microsoft.EntityFrameworkCore.InMemory EF非核心的替代方案?

Entity framework Microsoft.EntityFrameworkCore.InMemory EF非核心的替代方案?,entity-framework,Entity Framework,我继承了一个大型遗留项目,该项目广泛使用实体框架(非核心),实际上没有任何测试。它利用了一些不允许我升级到ASP.NET Core或EF Core的功能,至少现在还没有。无论如何,我想建立足够的测试,让我对代码充满信心。这是我意识到Microsoft.EntityFrameworkCore.InMemory对我不可用的时候。有没有其他方法可以让我以同样的方式对EF非核心进行单元测试 谢谢 我发现了EFFORT(),它可以作为NuGet下载(请确保引用正确的版本)。它基本上类似于Microsoft

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


谢谢

我发现了EFFORT(),它可以作为NuGet下载(请确保引用正确的版本)。它基本上类似于Microsoft.EntityFrameworkCore.InMemory,但也适用于非核心。它之所以有效,是因为您将测试项目的app.config更改为指向内存SQL提供程序中提供的工作。我的测试用例在没有任何自定义代码的情况下(我使用它就像使用真实的东西一样)可以正常工作。我所看到的唯一缺点是我的努力测试用例有点慢(200+毫秒)。在任何情况下,当我最终可以转换到ASP.NET Core时,我的测试应该能够保持不变。

您可以在非Core EF中使用带有“内存中”功能的SQLite提供程序吗?您可以使用通用数据库集和datacontext接口创建一个新的基类,因此,您可以使用模拟的datacontext对业务逻辑进行单元测试。我不知道“Microsoft.EntityFrameworkCore.InMemory Way”,但如果这对您来说足够,我可以发布一个答案。