gpt4 book ai didi

sqlite - EF Core SqLite 内存中没有这样的表?

转载 作者:行者123 更新时间:2023-12-05 06:18:11 25 4
gpt4 key购买 nike

我使用 UseInMemoryDatabase() 配置了我的 ASP.NET Core 2.2 应用程序,它运行良好。现在我将其更改为内存中的关系型 Sqlite。

启动.cs

 services.AddDbContext<ApplicationContext>(options => options.UseSqlite("Datasource=file::memory:?cache=shared"));

我在单元测试中使用了这种 Sqlite 内存方法,它运行良好。所以决定我想在我的应用程序中使用相同的内存中 Sqlite(测试一些东西,稍后当应用程序准备好时我将在磁盘上创建 sqlite 文件)。问题是当我启动我的应用程序时。我收到类似 SqliteException: SQLite Error 1: 'no such table: USERS' 的错误。我调试我的存储库类,我发现上下文有表用户。所以内存中的 Sqlite 在单元测试中运行良好,但在实际应用程序中会抛出错误。这是为什么?感谢您提供任何提示。

enter image description here

最佳答案

创建迁移并将其应用到内存中的 SQLite 数据库。您必须在每次应用程序启动时应用它们,因为数据库只存在于内存中,直到应用程序退出。

关于sqlite - EF Core SqLite 内存中没有这样的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61366819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com