首页 > 解决方案 > 如何解决 C# - SQlite 提供程序问题

问题描述

我已经尝试了所有解决方案,但出现此错误;

System.NotSupportedException:'无法确定类型为'System.Data.SQLite.SQLiteFactory'的提供者工厂的提供者名称。确保在应用程序配置中安装或注册了 ADO.NET 提供程序。

我已经安装了所有的包和 dll。参考图片

和我的 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>

    <entityFramework>
     <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" />
      <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
    </providers>
  </entityFramework>

    <system.data>
    <DbProviderFactories>
      <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" />
      <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>

<connectionStrings><add name="mainEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SQLite.EF6;provider connection string=&quot;data source=C:\Users\MONS\Desktop\XmltoCsvBeta\XmltoCsvBeta\bin\Debug\Data\DB.db&quot;" providerName="System.Data.EntityClient" /></connectionStrings></configuration> ```

标签: c#.netsqlitelinq

解决方案


如果在运行时弹出错误,为什么选择它可能意味着System.Data.SQLite.Linq项目引用中缺少包。System.Data.SQLite包括对 LINQ 的支持,因此安装这个就足够了(而不仅仅是System.Data.SQLite.Core)。

这至少对我有帮助。


推荐阅读