Entity Framework 的 SQLite:VS2013 中没有可用的 SQLite 数据提供程序

SQLite with Entity Framework : no data provider for SQLite available in VS2013

Whosebug 上有很多关于此主题的问题。我尝试了大多数建议的答案,但其中 none 对我有用。

无论我选择什么选项(EF Designer、Code First),当我尝试创建连接时,都看不到 SQlite 提供程序。

我的配置文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </configSections>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
    </startup>
    <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
            <parameters>
                <parameter value="v11.0" />
            </parameters>
        </defaultConnectionFactory>
        <providers>
            <provider invariantName="System.Data.SqlClient" 
                      type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
            <provider invariantName="System.Data.SQLite.EF6"  
                      type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
        </providers>
    </entityFramework>
    <system.data>
        <DbProviderFactories>
            <remove invariant="System.Data.SQLite" />
            <remove invariant="System.Data.SQLite.EF6" />
            <add name="SQLite Data Provider (Entity Framework 6)" 
                 invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" 
                 type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
        </DbProviderFactories>
    </system.data>
</configuration>

我的包配置:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="6.0.0" targetFramework="net46" />
  <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" />
  <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" />
  <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" />
  <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" />
</packages>

编辑:添加屏幕截图以澄清问题:

我做错了什么?感谢您的帮助!

好的,我刚刚知道发生了什么。我只是没有安装正确的提供程序。我应该安装 sqlite-netFx451-setup-bundle-x86-2013-1.0.108.0.exe

在System.Data.SQLite wiki 中不是很清楚,但是文件名中的年份并不是我想的发布日期,而是VisualStudio 版本。我的错误是按所需的目标 .NET 版本选择了提供程序。

安装正确的提供程序后,即使提供程序以 .NET 4.5.1 为目标,而我的项目以 .NET 4.6 为目标,一切都会顺利进行