当我为未来项目指定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.SQL ite、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很熟悉,所以你能给我建议吗?
我是不是完全搞错了什么?