【问题标题】:Unwanted database during Azure deployAzure 部署期间不需要的数据库
【发布时间】:2013-11-17 20:02:21
【问题描述】:

我尝试将我的项目部署到 Azure,当发布成功时,我总是收到“在建立与 SQL Server 的连接时发生网络相关或特定于实例的错误。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)”错误。

我阅读/观看了一些关于通过 Visual Studio 发布 asp.net 项目的教程,我注意到我的项目与教程中的项目之间存在差异:

虽然其他人的“发布”窗口的“设置”部分中只有一个数据库,但我有两个,但我不知道为什么。我想这可能是我收到错误的原因。

这是我的窗口:

这是教程中的一个:

我不太明白,因为我应该只有一个数据库,就像我的服务器资源管理器显示的那样:

在我的 web.config 文件中,只定义了一个连接字符串,用于 DefaultConnection:

  <connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-vocab_2-20130928092402;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-vocab_2-20130928092402.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>

我猜我的 DbContext 派生的 VocabModel 类也是相关的:

public class VocabModel : DbContext
{

        public VocabModel() : base("name=DefaultConnection")
        {
            if (Membership.GetUser()!=null)
            {this.currentuser = UserProfiles.Find((int)Membership.GetUser().ProviderUserKey);}
        }

        public DbSet<UserProfile> UserProfiles { get; set; }
        public DbSet<ForeignExpression> ForeignExpressions { get; set; }
        public DbSet<PracticeResult> latestResults { get; set; }   

}

那怎么了?我是否在实体框架中犯了一个根本性错误? (这是我第一次使用它)

【问题讨论】:

    标签: c# asp.net entity-framework asp.net-mvc-4 azure


    【解决方案1】:

    原来是这样的

    if (Membership.GetUser()!=null)
            {this.currentuser = UserProfiles.Find((int)Membership.GetUser().ProviderUserKey);}
    

    在我的模型的构造函数中。我将此代码移至 currentuser 属性的 get 方法(无论如何这更合乎逻辑),现在它按预期工作。任何解释仍将不胜感激。 (为什么这部分会在发布期间导致额外的数据库?)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多