当我为未来的项目指定XP兼容性时,我试图测试VS 2010(WinXP SP3),。Net 4.0.3(后来的WPF for UI),Entity Framework 6(我发现它的组合)应与.Net 4)和SQLite(System.Data.SQLite / .EF6)兼容。
我从NuGet安装了“EntityFramework”和“System.Data.SQLite EF6”软件包。 (“System.Data.SQLite EF6”又安装了System.Data.SQLite,System.Data.SQLite.EF6和SQLite.Interop.dll)
现在尝试使用“Ado.Net实体数据模型”模板,我从旧教程中猜到这将是下一步我进入新的连接对话框,并且没有列出那里的SQLite提供程序来选择。
我检查了我的App.config,并在那里列出了SQLite数据提供程序。 (如果说得对,我说不清楚) 看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<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.0.3,Profile=Client" />
</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" />
<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>
应用程序(空控制台应用程序)编译时没有错误并运行(当然没有任何操作)。
我对EF + SQLite非常环保,所以请你指点一下吗? 我完全走错了路吗?
答案 0 :(得分:0)
所以经过几个小时的绝望谷歌搜索,我在一个关于Visual Studio Design Time Component(s)
的旧教程中找到了一个提示。
显然我错过了GAC中安装的Design Time Components和System.Data.SQLite库,没有它们,VS2010向导就不会看到&#39;&#39; SQLite提供者。
因此,尽管在许多官方场所阅读安装程序安装包是不推荐的将SQLite库添加到项目中的方法,但它实际上是制作VS的唯一方式(2010, 12,?13?)工具可以使用它。
安装了&#34; 设置包中的一个&#34;来自http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki。在我的情况下&#34; 32位Windows的安装程序(.NET Framework 4.0)&#34; 模板现在提供SQLite作为数据提供者。