gpt4 book ai didi

c# - 在 .NET 4.5.1 中设置 ASP.NET Identity ConnectionString 属性

转载 作者:太空狗 更新时间:2023-10-29 18:07:24 26 4
gpt4 key购买 nike

所以基本上终于学会了how to change OpenAuth to not use DefaultConnection in .NET 4.5 ,我已经转到 4.5.1,使这些学习变得毫无意义。 AuthConfig.cs 的职责现在在 Startup.Auth.cs 中,OpenAuth 的静态方法被抽象掉了,因此我不能再直接更改 OpenAuth.ConnectionString 的默认值。

在 .NET 4.5.1 中更改成员资格的连接字符串/数据库的最佳做法是什么?

最佳答案

我遵循了您建议的方法,它对我很有效。然而,几乎没有什么主要是句法和命名问题恰好是不同的。我认为这些差异可能是由于我们使用的 Visual Studios 的不同版本(而不是 .NET - 我的版本是 .NET 4.5.1 的第一版)。我继续描述我的具体解决方案。

我的目标是拥有一个数据库上下文,通过它我可以访问用户或身份相关数据以及我的自定义应用程序数据。为此,我完全删除了类 ApplicationDbContext,它是在您创建新项目时自动为您创建的。

然后,我创建了一个新类 MyDbContext

public class MyDbContext: DbContext
{
public MyDbContext() : base("name=DefaultConnection")
{

}

//
// These are required for the integrated user membership.
//
public virtual DbSet<IdentityRole> Roles { get; set; }
public virtual DbSet<ApplicationUser> Users { get; set; }
public virtual DbSet<IdentityUserClaim> UserClaims { get; set; }
public virtual DbSet<IdentityUserLogin> UserLogins { get; set; }
public virtual DbSet<IdentityUserRole> UserRoles { get; set; }

public DbSet<Movie> Movies { get; set; }
public DbSet<Order> Orders { get; set; }
public DbSet<Purchase> Purchases { get; set; }
}

RolesUsersUserClaimsUserLoginsUserRoles 是根据成员(member)管理的建议要求。但是,在我的例子中,它们的类型有不同的名称(ApplicationUser 而不是 UserIdentityUserClaim 而不是 UserClaim 等等.).我想这就是 Antevirus 出现“找不到用户”问题的原因。

此外,正如我们在我的案例中看到的那样,有 5 个这样的字段,而不是 8 个。这可能是由于 Visual Studio 的不同版本所致。

我所做的最后更改是在类 AccountController 中,它反射(reflect)了新上下文 MyDbContext 的使用。这里我传递了一个 MyDbContext 的实例,而不是 ApplicationDbContext

之前

public AccountController()
: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())))
{
}

之后

public AccountController()
: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new MyDbContext())))
{
}

关于c# - 在 .NET 4.5.1 中设置 ASP.NET Identity ConnectionString 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19308959/

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