SQL Server CE vs SqlClient



SqlServerCe代码和SqlClient代码有什么区别?EF 代码首先需要SqlServerCe,还是也能够SqlClient?如果我在本地数据库上运行,我应该选择哪个提供程序?

我的app.config如下所示:

<entityFramework>
<defaultConnectionFactory 
type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.4.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" 
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="System.Data.SqlServerCe.4.0" 
type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />
<provider invariantName="System.Data.SQLite.EF6" 
type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
</providers>
</entityFramework>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" 
invariant="System.Data.SqlServerCe.4.0" 
description=".NET Framework Data Provider for Microsoft SQL Server Compact" 
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
<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>

我想摆脱SqlServerCeSqlClient,因为我在我的配置中没有看到两个提供程序的理由。

编辑:如果我专注于 Azure 驱动的数据库,我应该选择哪个提供商?(本地或远程数据库是否需要不同的提供程序(

SqlServerCe适用于单用户、单机SQL ServerCompact Edition,Microsoft正式不再支持该版本。

正如我们所知,SqlClient完整、完整的SQL Server 的提供程序,也是 Azure 数据库产品/服务的基础。

EF 6 肯定支持这两个提供程序。

如果你想删除任何东西 - 一定要删除SqlServerCe并保留真正的,完整的SQL Server!但从技术角度来看,这是两种非常不同的数据库技术,很可能在需要这两种情况下。

相关内容

  • 没有找到相关文章

最新更新