hyp*_*erN 3 c# asp.net-mvc azure asp.net-web-api
在包管理器控制台中,我在azure上对我的数据库运行命令更新数据库,但是我收到错误,说ConnectionString属性尚未初始化.
我对本地数据库做了同样的事情,一切都很好.在我的web配置中,我已经将连接字符串更改为mach我的azure数据库,这是我的数据库上下文的样子:
public class MadLabsDatabaseContext : IdentityDbContext<User>
{
public MadLabsDatabaseContext()
: base("DefaultConnection")
{
Configuration.LazyLoadingEnabled = true;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>()
.ToTable("AspNetUsers");
modelBuilder.Entity<User>()
.ToTable("AspNetUsers");
}
}
Run Code Online (Sandbox Code Playgroud)
这是web.config中的连接字符串:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=tcp:serverName.database.windows.net,1433;Database=madLabs_db;User ID=username;Password=password;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
这是我的Package Manager控制台代码:
Update-database -ConnectionString "Data Source=tcp:serverName.database.windows.net,1433;Database=madLabs_db;User ID=userName;Password=password;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True;" -ConnectionProviderName "System.Data.SqlClient"
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?
Ale*_*lex 15
我猜你有ASP Identity 2.0.0,由于某种原因,这会导致Azure上的问题而不是本地问题,但修复很容易.
尝试将代码更改为:
public class MadLabsDatabaseContext : IdentityDbContext<User>
{
// This is the offending line
// Add throwIfV1Schema: false
public MadLabsDatabaseContext() : base("DefaultConnection", throwIfV1Schema: false)
{
Configuration.LazyLoadingEnabled = true;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>()
.ToTable("AspNetUsers");
modelBuilder.Entity<User>()
.ToTable("AspNetUsers");
}
}
Run Code Online (Sandbox Code Playgroud)
现在尝试发布到Azure,它应该工作.
| 归档时间: |
|
| 查看次数: |
2631 次 |
| 最近记录: |