【问题标题】:System.Data.SQLite in a WPF applicationWPF 应用程序中的 System.Data.SQLite
【发布时间】:2016-09-16 13:33:03
【问题描述】:

我正在尝试在 Windows 7 WPF 应用程序中使用 System.Data.SQLite。

我已经下载并安装了

sqlite-netFx46-setup-bundle-x86-2015-1.0.103.0.exe 

来自https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

我还安装了 NuGet 包

EntityFramework version=6.0.0 
System.Data.SQLite version=1.0.103 
System.Data.SQLite.Core version=1.0.103 
System.Data.SQLite.EF6 version=1.0.103 
System.Data.SQLite.Linq version=1.0.103 

我尝试创建 ADO.Net 实体数据模型但失败了。这可能吗。我可以使用哪些方法来创建数据库?代码优先?模型优先 (.edmx)?手写SQL代码创建数据库?

我无法找到有关在 .Net 中使用 SQLite 的文档。有希望还是应该使用不同的数据库? 有没有可以指导我参考的文档?

提前致谢。

【问题讨论】:

    标签: c# wpf sqlite visual-studio-2015 system.data.sqlite


    【解决方案1】:

    您可以使用“代码优先”,但无需迁移。以下是关于如何使用 SQLite 3 和 EF6 设置项目 + 迁移的简单指南:http://hintdesk.com/sqlite-with-entity-framework-code-first-and-migration/。基本上,您必须手动编写 SQL 中的所有迁移。

    他们正在/计划在 EF7 中添加对迁移的支持,但还没有走得太远:https://github.com/aspnet/EntityFramework/blob/dev/src/Microsoft.EntityFrameworkCore.Sqlite/Migrations/SqliteMigrationsSqlGenerator.cs#L149

    有一些 SQLite 限制使得这很难实现:http://ef.readthedocs.io/en/latest/providers/sqlite/limitations.html#migrations-limitations

    【讨论】:

    • 感谢您的回复。我最终通过将 sql 用于表创建和 c# 类与 EF 的组合来插入和查询,最终让它工作。
    • 这就是要走的路。您首先在 EF6 代码中习惯的大部分内容都在那里,但迁移除外。您可以拥有 FK 和导航属性 - 然后您可以使用 .Include(...) 等加载它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多