Tag: in memory database

如何根据XUnit测试隔离EF InMemory数据库

我正在尝试使用InMemory EF7数据库进行我的xunit存储库测试。 但我的问题是,当我尝试Dispose创建的上下文时,内存db仍然存在。 这意味着一个测试涉及其他。 我已经阅读了本文unit testingentity framework7与内存数据存储 ,我试图在我的TestClass的构造函数中设置上下文。 但这种方法不起作用。 当我单独运行测试时一切正常,但我的第一个测试方法是在DB中添加一些东西,第二个测试方法从之前的测试方法开始使用脏DB。 我尝试将IDispose添加到测试类中,但方法DatabaseContext和DB在内存中保留。 我错了什么我错过了什么? 我的代码看起来像: using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Xunit; namespace Fabric.Tests.Repositories { /// /// Test for TaskRepository /// public class TaskRepositoryTests:IDisposable { private readonly DatabaseContext contextMemory; /// /// Constructor /// public TaskRepositoryTests() { var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseInMemoryDatabase(); […]

64位SQLite.dll和任何CPU

经过一段时间的努力来解决这个问题后,我终于决定在这里发帖提问。 几天前我在sqlite论坛上发布了同样的问题,但该网站目前无法使用。 http://sqlite.phxsoftware.com/forums/t/2669.aspx 所以,这里有一个问题:我有64位计算机和64位操作系统。 一位同事拥有64位计算机和32位操作系统。 我们开发了一个Web应用程序,它从服务器中获取大量数据并将其保存在内存SQLite数据库中,因此一切都可以更快地运行。 现在我们在两台机器上使用32位SQLite.dll。 但是我们想要切换到64位dll(并增加我们可以使用和存储的数据量)。 我从http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki下载了以下文件:sqlite-dotnet-x64-1007300.exe并在我的机器上安装了。 我已将System.Data.Sqlite.dll和System.Data.Sqlite.Linq.dll放入lib文件夹,而我已将Sqlite.Interop.dll复制到bin \ Debug文件夹中。 当我使用Any CPU调试应用程序时,一切都在我的机器上工作正常,但是,我的同事正在收到错误。 我想使用64位dll并使用任何CPU构建exe文件,如果系统是32或64则不用担心。这可能吗? 如果这是我应该做的事情呢? 提前致谢! PS我们使用C# – Visual Studio 2008 3.5 SP1