如何使用EF在SQLite中启用迁移

本文关键字:启用 迁移 SQLite 何使用 EF | 更新日期: 2023-09-27 18:04:49

我遇到问题了。我正在为windows桌面应用程序编写代码,我必须使用sqlite作为数据库。我已经从nuget包中成功安装了system.data.sqlite和实体框架。我还创建了DbContext类。现在的问题是,当我试图运行代码时,出现了一个异常,其内部消息是

{"SQLite Error 1: 'no such table: TimeSheet'"}.

这意味着数据库中不存在表TimeSheet。请告诉我如何使用实体框架在sqlite中创建表或如何启用迁移。

如何使用EF在SQLite中启用迁移

有一些针对SQLite的迁移实现。

https://github.com/bubibubi/db2ef6migrations基于新的EF6迁移接口,但它有一些限制。你可以从Nuget中搜索System.Data.SQLite.EF6.Migrations

与MS SQL Server不同,默认情况下,system.data.sqlite 中的免费Sqlite驱动程序不支持迁移。因此,不能从代码中创建新数据库。必须手动创建

您可以使用SQLite Manager add-on for Firefox

SQLite Manager

或者您可以使用SQL Server Compact/SQLite Toolbox其中@ErikEJ如下所示