EF6 调用SQLite适用于code first,非code first参考官方配置文件

<!--这里必须注册System.Data.sqlite,否则找不到,除非加入GAC,DbConfiguration配置也需要-->
<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="northwindEFEntities" connectionString="data source=.\northwindEF.db" providerName="System.Data.sqlite"/>
</connectionStrings>


<entityFramework>
<providers>
<provider invariantName="System.Data.sqlite" type="System.Data.sqlite.EF6.sqliteProviderServices,System.Data.sqlite.EF6"/>
</providers>
</entityFramework>

因为用到了EF,所以这里的entityFramework配置里面的invariantName与connectionStrings里面的providerName都要对应为DbProviderFactories里面注册的名字invariant="System.Data.sqlite",否则会提示没有注册System.Data.sqlite。

并且<DbProviderFactories>节必须有,否则当目标计算机没有GAC注册System.Data.sqlite,会提示找不到。。。

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能