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>我想摆脱SqlServerCe或SqlClient,因为我认为在我的配置中这两个提供者都没有理由。
编辑:如果我将重点放在Azure驱动的DB上,我应该选择哪个提供程序?(本地或远程DB是否需要不同的提供程序)
发布于 2018-08-24 15:36:06
SqlServerCe是针对单用户、单机Server 紧凑版的,微软已经正式不再支持它了。
SqlClient是我们所知道的完整的 Server的提供者,也是Azure数据库产品的基础。
EF 6确实支持这两个提供者。
如果您想要删除任何内容,请务必删除SqlServerCe,并保持真实、完整的Server!但是从技术的角度来看,这是两种非常不同的数据库技术,很可能在某些情况下您需要两者兼而有之。
https://stackoverflow.com/questions/52007010
复制相似问题