带实体框架的SQLite。 System.Data.SQLite数据库文件未显示在数据源中

时间:2018-12-13 17:57:15

标签: .net entity-framework sqlite

我在创建新的ADO.NET实体数据模型时遇到问题。我想连接到本地sqlite数据库,但是当我尝试添加新连接时,看不到System.Data.SQLite数据库文件。我尝试了一切,但仍然找不到解决方案。我为x32到4.6 .NET安装了sqlite,并且在我的项目中使用了相同版本。

这是我的app.config文件:

<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="mssqllocaldb" />
      </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.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" />
    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
  </system.data>
</configuration>

和软件包:

<packages>
  <package id="EntityFramework" version="6.2.0" targetFramework="net46" />
  <package id="System.Data.SQLite" version="1.0.109.2" targetFramework="net46" />
  <package id="System.Data.SQLite.Core" version="1.0.109.2" targetFramework="net46" />
  <package id="System.Data.SQLite.EF6" version="1.0.109.0" targetFramework="net46" />
  <package id="System.Data.SQLite.Linq" version="1.0.109.0" targetFramework="net46" />
</packages>

1 个答案:

答案 0 :(得分:0)

似乎您需要安装一个软件包,上面写着“ 这是唯一能够安装Visual Studio 20xx设计时组件的安装软件包”,然后为您的Visual Studio版本选择一个从这里http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki开始。不幸的是,没有针对VS2017的版本,您可以在SQLite provider in VS2017上了解更多信息。