SQLite с Entity Framework.Файл базы данных System.Data.SQLite не отображается в источнике данных - PullRequest
0 голосов
/ 13 декабря 2018

У меня проблема с созданием новой модели данных сущности ADO.NET.Я хочу подключиться к своей локальной базе данных sqlite, но когда я пытаюсь добавить новое соединение, я не вижу System.Data.SQLite файл базы данных.Я перепробовал все и до сих пор не могу найти решение.Я установил sqlite для x32 на 4.6 .NET, и я использую ту же версию в своем проекте.

Вот мой файл 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 голосов
/ 03 января 2019

Похоже, вам нужно установить пакет с надписью « Это единственный установочный пакет, который способен устанавливать компоненты времени разработки для Visual Studio 20xx » и выбрать один для вашей версии Visual Studio изздесь http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki.К сожалению, для VS2017 такого нет, вы можете узнать больше об этом здесь Поставщик SQLite в VS2017 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...