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

时间:2016-08-31 10:59:31

标签: c# sqlite ef-code-first entity-framework-core

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

  

{" SQLite错误1:'没有这样的表格:TimeSheet'"}。

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

2 个答案:

答案 0 :(得分:9)

SQLite有一些迁移实现。

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

下载它

答案 1 :(得分:5)

与MS SQL Server不同,默认情况下,来自system.data.sqlite 的免费Sqlite驱动程序不支持迁移。因此,您无法创建新数据库来自code.You 必须手动创建它。

为此你可以使用SQLite Manager add-on for Firefox

以下是链接:SQLite Manager

或者您可以使用SQL Server Compact/SQLite Toolbox,其中 @ErikEJ 建议如下。