关于此主题的Stackoverflow有很多问题。我尝试了大多数建议的答案,但没有一个对我有用。
sqlite-netFx46-setup-bundle-x86-2015-1.0.108.0.exe
(完整安装)无论我选择了哪种选项(EF Designer,代码优先),当我尝试创建连接时都看不到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>
编辑:添加屏幕截图以澄清问题:
我做错了什么?谢谢您的帮助!
答案 0 :(得分:0)
好吧,我只是想知道发生了什么事。我只是没有安装适当的提供程序。我应该安装sqlite-netFx451-setup-bundle-x86-2013-1.0.108.0.exe
在System.Data.SQLite Wiki中不是很清楚,但是文件名中的年份不是我想象的发布日期,而是VisualStudio版本。我的错误是根据所需的目标.NET版本选择提供程序。
一旦安装了正确的提供程序,即使提供程序的目标是.NET 4.5.1而我的项目的目标是.NET 4.6,一切都可以正常运行