【发布时间】:2019-01-27 10:00:24
【问题描述】:
从 Visual Studio 2017 在 Azure 中发布我的第一个 ASP.NET Core 2.1 Web 应用程序时,我正在设置 EF 迁移,如下图所示:
运行Publish 后,没有创建身份表。在配置-> 设置我有信息,No databases found in the project。
我也在使用控制台命令:
dotnet ef database update --context AppIdentityDbContext
什么给了我同样的结果。我从 Azure Show database connection strings 获取的连接字符串,用用户名和密码更新它们。
我不确定我在这里做错了什么。一切都在我的电脑上完美运行。如有任何建议,我将不胜感激。
现在,在尝试填充身份表之后: 公共静态类 IdentitySeedData
{
private const string adminUser = "****";
private const string adminPassword = "****";
public static async Task EnsurePopulated(UserManager<IdentityUser> userManager)
{
IdentityUser user = await userManager.FindByIdAsync(adminUser);
if (user == null)
{
user = new IdentityUser("Admin");
await userManager.CreateAsync(user, adminPassword);
}
}
}
我收到错误:
AggregateException: One or more errors occurred. (Invalid object name 'AspNetUsers'.)
System.Threading.Tasks.Task.ThrowIfExceptional(bool includeTaskCanceledExceptions)
SqlException: Invalid object name 'AspNetUsers'.
System.Data.SqlClient.SqlCommand+<>c.<ExecuteDbDataReaderAsync>b__108_0(Task<SqlDataReader> result)
更新:我发现,我的问题只出现在身份数据库上。
【问题讨论】:
-
你有数据库来放表吗? (信息性消息显示“在项目中未找到数据库”。)此外,您可能无法在 Azure SQL 中使用“Admin”作为用户名。
-
@MikeSherrill'CatRecall' 是的,我试图用管理员的登录名和密码为空表做种。我还在学习 Azure,我设法找到了其他基础的表,但只有身份基础没有迁移。
-
由于我没有设法将身份数据库迁移到 Azure,我在这里找到了替代解决方案:stackoverflow.com/questions/38040976/… 无论如何,感谢大家的努力。
标签: c# azure asp.net-core-mvc