为什么数据提供者首先与代码不同,而db首先与Entity Framework不同

时间:2017-02-02 20:07:34

标签: c# .net entity-framework dataprovider

我是实体框架的新手。

当我首先添加代码并将db第一个实体添加到我的项目中时, 我注意到代码首先使用标准的sql provider" System.Data.SqlClient" 和db首先使用" System.Data.EntityClient"供应商。 为2种不同类型生成的类非常相似,实际上我没有发现任何差异,除了" OnModelCreating"从DbContext覆盖。

代码优先:

  <connectionStrings>
    <add name="Model1" connectionString="" 
         providerName="System.Data.SqlClient" />
  </connectionStrings>

Db First:

  <connectionStrings>
    <add name="PenCalcEntities" connectionString="" 
         providerName="System.Data.EntityClient" />
  </connectionStrings>

1)为什么会有这样的差异?尽管类非常相似,为什么代码首先不能与EntityClient提供程序一起使用,为什么db首先不能与SqlClient提供程序一起使用?

2)两种方法添加&#34; entityFramework&#34;部分到我的配置文件,如

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>

当我删除此部分时,它也适用于两种方法。 这部分的目的是什么?

0 个答案:

没有答案
相关问题