SQL Server CE против SqlClient - PullRequest
       18

SQL Server CE против SqlClient

0 голосов
/ 24 августа 2018

В чем разница между 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 БД?(Требуется ли другой провайдер для локальной или удаленной БД)

1 Ответ

0 голосов
/ 24 августа 2018

SqlServerCe предназначен для однопользовательского SQL Server с одним компьютером Compact Edition , который официально больше не поддерживается Microsoft.

SqlClient является поставщиком для полный, полный SQL Server в том виде, в котором мы его знаем, - также основа для предложений баз данных Azure.

EF 6 наверняка поддерживает обоих поставщиков.

Если вы хотите удалитьвсе, что угодно - удалите SqlServerCe и держите реальный, полный SQL Server!Но с технической точки зрения это две очень разные технологии базы данных, и вполне возможно, что могут возникнуть ситуации, когда вам понадобятся оба

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...