如何将列添加到Aspnetuser



我有一个带有2个数据库的项目:1您在其余的数据中都有Aspnetuser,角色登录等以及第二个数据库。我想让这个项目是每个租户单独的数据库,并希望能够根据用户公司ID更改连接字符串。因此,为了做到这一点,我需要在Aspnetusers表中添加一列。

到目前为止,我有这个

    public class ApplicationUser : IdentityUser
{
    public DateTime? LastVisitDate { get; set; }
    public int? CompanyId { get; set; }
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        userIdentity.AddClaim(new Claim("LastVisitDate", this.LastVisitDate.ToString()));
        userIdentity.AddClaim(new Claim("CompanyId", this.CompanyId.ToString()));
        return userIdentity;
    }
}
public static class IdentityExtensions
{
    public static string GetLastVisitDate(this IIdentity identity)
    {
        var claim = ((ClaimsIdentity)identity).FindFirst("LastVisitDate");
        // Test for null to avoid issues during local testing
        return (claim != null) ? claim.Value : string.Empty;
    }
    public static string GetCompanyId(this IIdentity identity)
    {
        var claim = ((ClaimsIdentity)identity).FindFirst("CompanyId");
        return (claim != null) ? claim.Value : string.Empty;
    }

之后,我进行了添加移民,这一切都通过了。问题在于更新数据库。我遇到了一个错误,即" xxxx.aspusers.aspnetusers"不存在。如何使其仅更新" aspusers.aspnetusers"?它试图定位在configurations.cs上设置的数据库,即第二个数据库。

如何使其仅更新'aspusers.aspnetusers'?

您不能强迫迁移仅适用于一个表。

如果要定义迁移的数据库应用于哪个数据库,则使用-ConnectionString选项。

updata-database -ConnectionString YOUR_CONNECTION_STRING

相关内容

  • 没有找到相关文章

最新更新