Ale*_*lex 2 asp.net-mvc entity-framework asp.net-mvc-5 entity-framework-6.1
我有一个MVC5/EF6.1网站,可以在我的开发机器上使用LocalDb完美运行.
但是,当我使用Azure SQL数据库将其发布到Azure网站时,在进行任何数据库交互时出现以下错误:
The ConnectionString property has not been initialized.
我已经搜遍了全部,无法找到Azure上发生这种情况的原因.
堆栈跟踪指向的第一个文件是IdentityModels.cs:45
包含以下内容:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext() : base("DefaultConnection")
{
}
}
Run Code Online (Sandbox Code Playgroud)
当我发布到Azure时,我已经测试了连接字符串(返回OK),这是"设置"屏幕:

想知道发生了什么事吗?
更新:
如果不选择ApplicationDbContext而是选择DefaultConnection它可行,但是我将无法使用代码优先迁移.我怎样才能ApplicationDBContext再次上班?

Ale*_*lex 20
对于遇到这个问题的其他人 - 我找到了解决方案.
我刚刚通过Nuget 将ASP身份升级到2.0.0版本,当它安装了Microsoft.AspNet.Identity.EntityFramework包时,它改变了我的发布设置并分离了AppliationDbContext它DefaultConnectionString,这就是导致问题的原因.
我必须要做的就是将以下内容更改为我的内容 ApplicationDbContext
ASP Identity 1.0.0
public ApplicationDbContext() : base("DefaultConnection")
{
}
Run Code Online (Sandbox Code Playgroud)
ASP Identity 2.0.0
// Set the throwIfV1Schema to false...
public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false)
{
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么这不会影响我的本地开发版本,但它解决了我的问题.希望这有助于某人!
| 归档时间: |
|
| 查看次数: |
1836 次 |
| 最近记录: |