在 Visual Studio 2017 中用 Entity Framework 6 连接 SQLite 3

提示

要打开本文提到的链接可能需要翻一下那个最可爱的墙。

现状

想写个做交易笔记的软件,需要用 SQLite,在 VS 2017 里安装了 Entity Framework 6.1.3 和 SQLite for EF6 相关的包之后,添加 ADO.NET Entity Data Model 的时候还是没有 SQLite 的 Data provider。

在网上找了一圈解决方案,提问和回答都是针对老版本 Visual Studio 的,2017 出了这么久了,还不能用 EF 设计器。目前有三条路可选:

官方版

截至目前,官方的 provider 还没有发布出来。

如果是 Visual Studio 2015 或更老的版本,可以到 SQLite 下载页下载对应的 setup-bundle.exe,VS 2017 的消息要看 SQLite 新闻页,什么时候 1.0.106.0 发布了就可以用了。

The current estimate is that support for Visual Studio 2017 will be included in the 1.0.106.0 release, which should be released at some point in the mid-June timeframe.

此消息来自 SQLite provider in VS2017 on Stack Overflow,据说是官方消息,我没找到原始出处。

好消息是目前预计九月发布,现在已经九月了。

坏消息是之前预计六月发布,现在已经九月了。

Github 版

如果等不及官方版,Github 上有大神做了第三方的 provider,链接:SQLite DDEX by ErikEJ

照着说明安装。

破罐破摔版

别用设计器。

初学教程

当选定路线后,还可以看一下这篇文章学习如何配置使用:Using SQLite with the Entity Framework 6.1.x designer - a troubleshooting guide

  • 446

好几年不编程了。

1.0.106.0 - 2017年11月2日

  • 已更新为SQLite 3.21.0。
  • 添加对本地会话扩展的完全支持。
  • 添加BindDecimalAsText和GetDecimalAsText连接标志强制绑定并返回十进制值作为文本。根据[b167206ad3]。
  • 添加默认启用的BindInvariantDecimal和GetInvariantDecimal连接标记,以使用不变文化强制绑定和返回小数值。根据[b167206ad3]。 可能不相容的变化
  • 为Visual Studio 2017和.NET Framework 4.7添加初步支持。但这并不包括为Visual Studio的设计时组件的支持,请参阅[8292431f51] 。

感谢楼上补充,另外我看到新闻页的提示:

Design-Time Components for Visual Studio

  • 依然会编译到安装包里。
  • 但不再提供官方支持。
  • 依然可以通过邮件列表提问。
  • 但不再接受相关工单。
回复内容较长可以拖右下角↑
回到
顶部