gpt4 book ai didi

asp.net-mvc - 如何将应用程序用户置于与其他对象相同的上下文中?

转载 作者:行者123 更新时间:2023-12-04 00:52:41 25 4
gpt4 key购买 nike

股票 asp.net mvc 5 应用程序在单独的上下文中创建应用程序用户,也就是身份用户,命名一个名为“IdentityModels.cs”的文件 - 它看起来像这样

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
}

我试图将应用程序用户置于常规数据上下文中,即像这样
 public class BlogProphetContext : DbContext
{

public DbSet<ApplicationUser> ApplicationUsers { get; set; }
public DbSet<Answer> Answers { get; set; }
public DbSet<Question> Questions { get; set; }
public DbSet<Tag> Tags { get; set; }
}

但是,每次我尝试创建帐户时都会出现以下错误
The UserId field is required

在 AccountController.cs 中,当我尝试执行以下代码行时
result = await UserManager.AddLoginAsync(user.Id, info.Login);

我觉得我的方法是错误的,如果没有某种外部欺骗,我就不能在主数据上下文文件中使用 ApplicationUsers - 有没有人知道这样做的方法?所有文件都是最新的。

最佳答案

这有点太简单了 - 事实证明,您只需删除

<ApplicationUser> 

当您调用上下文时,一切都如您所料(即 MVC 假设和开发人员假设(在这种情况下,我的)同步。

这是工作正常
 public class MyContext : IdentityDbContext
{
public MyContext()
: base("DefaultConnection")
{
}
public DbSet<ApplicationUser> ApplicationUsers { get; set; }
public DbSet<Answer> Answers { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
}
}

关于asp.net-mvc - 如何将应用程序用户置于与其他对象相同的上下文中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19628144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com