EF Code First(Azure) - 访问数据库时出错

时间:2015-02-11 19:30:17

标签: entity-framework azure ef-code-first ef-migrations

直到最近,我的解决方案只有一个网络项目。它部署到Azure。

然后需要WebJobs,它应该共享数据层,因此我将任何EntityFramework代码(Configuration / IdentityModels)提取到他们自己的项目中。

现在当我尝试使用命令行来" add-migration"我收到以下错误:

  

访问数据库时出错。这通常意味着   与数据库的连接失败。检查连接字符串是否为   更正并且正在使用适当的DbContext构造函数   指定它或在应用程序的配置文件中找到它。看到   http://go.microsoft.com/fwlink/?LinkId=386386了解有关的信息   DbContext和连接。有关详细信息,请参阅内部异常   故障。

以下是EF项目的App.Config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
  <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>

    <connectionStrings>
      <add name="Default" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Sample;Integrated Security=True;Connect timeout=15;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。

似乎配置子元素有一个必需的顺序。

在我的情况下,我将其更改为:

<configSections>...</configSections>
<startup>...</startup>
<system.data>...</system.data>
<connectionStrings>...</connectionStrings>
<entityFramework>...</entityFramework>