我是实体框架的新手。
当我首先添加代码并将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>
当我删除此部分时,它也适用于两种方法。 这部分的目的是什么?