我有一个带有2个数据库的项目:1其中有aspnetuser、角色登录等,还有第二个数据库,用于其余的数据。我想让这个项目成为每个租户单独的数据库,并希望能够根据用户的公司Id更改连接字符串。因此,为了做到这一点,我需要向aspnetuser表添加一列。
到目前为止我有这个
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.aspnetuser’?它试图针对一个设置在Configurations.cs上的数据库,这是第二个数据库。
发布于 2018-04-10 09:04:01
如何使它只更新‘aspusers.aspnetuser’?
不能强迫迁移只应用于一个表。
如果您想要定义您的迁移应用到哪个数据库,请使用-ConnectionString选项。
updata-database -ConnectionString YOUR_CONNECTION_STRINGhttps://stackoverflow.com/questions/49669050
复制相似问题