Sql server sqlserverce与SqlClient

Sql server sqlserverce与SqlClient,sql-server,sql-server-ce,sqlclient,Sql Server,Sql Server Ce,Sqlclient,SqlServerCe和SqlClientcode之间有什么区别?EF代码是否首先需要SqlServerCe,或者它是否也能够SqlClient?如果我在本地数据库上操作,我应该选择哪个提供程序 我的app.config如下所示: <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory,

SqlServerCe
SqlClient
code之间有什么区别?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,我应该选择什么提供商?(本地或远程数据库是否需要其他提供商)

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

SqlClient
是我们所知的完整的SQL Server的提供商,也是Azure数据库产品的基础

EF6肯定支持这两个提供者

如果您想删除任何内容,请务必删除
SqlServerCe
,并保留真正完整的SQL Server!但从技术角度来看,这是两种截然不同的数据库技术,很可能在某些情况下您需要这两种技术