首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server与SqlClient

Server与SqlClient
EN

Stack Overflow用户
提问于 2018-08-24 14:51:42
回答 1查看 511关注 0票数 2

SqlServerCeSqlClient代码有什么区别?EF代码首先需要SqlServerCe,还是也可以使用SqlClient?如果我是在本地数据库上操作,我应该选择哪个提供者?

我的app.config看起来是这样的:

代码语言:javascript
复制
<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驱动的DB上,我应该选择哪个提供程序?(本地或远程DB是否需要不同的提供程序)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 15:36:06

SqlServerCe是针对单用户、单机Server 紧凑版的,微软已经正式不再支持它了。

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

EF 6确实支持这两个提供者。

如果您想要删除任何内容,请务必删除SqlServerCe,并保持真实、完整的Server!但是从技术的角度来看,这是两种非常不同的数据库技术,很可能在某些情况下您需要两者兼而有之。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52007010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档