我使用了UseInMemoryDatabase()配置我的ASP.NET Core 2.2应用程序,它运行良好。现在我将其更改为关系型Sqlite内存数据库。
Startup.cs
services.AddDbContext<ApplicationContext>(options => options.UseSqlite("Datasource=file::memory:?cache=shared"));
我在单元测试中使用了这种内存中的Sqlite方法,效果很好。因此决定在我的应用程序中使用相同的内存中Sqlite(以测试一些东西,在应用程序准备好后我会在磁盘上创建sqlite文件)。问题是当我启动我的应用程序时,我会收到错误信息,例如 SqliteException:SQLite Error 1:'没有这样的表:USERS'
。我调试了我的repository类并发现上下文中有User表。所以Sqlite内存在单元测试中工作得很好,但在真实的应用程序中会抛出错误。为什么呢?感谢任何提示。
} );
- miuosh