0
環境:vs2013 asp.net mvc5與EF6MVC asp.net身份刪除用戶配置文件
項目時,我在表中調用UserManager.DeleteAsync(用戶) 系統默認用戶信息刪除用戶(「用戶「)被刪除,但用戶配置文件表(」UserInfo「)保留在數據庫中。如何刪除它? 任何人都可以幫忙嗎?感謝
這裏是我的代碼:
public class AppUser : IdentityUser
{
....
public virtual UserInfo CustomInfo { get; set; }
}
public class UserInfo
{
[Key]
public int ID { get; set; }
public string FullName { get; set; }
...
public string OtherContacts { get; set; }
}
public class AppUserStore : UserStore<AppUser>
{
public AppUserStore(AccountDbContext context)
: base(context)
{
}
public override Task<AppUser> FindByIdAsync(string userId)
{
return Users.Include(u => u.CustomInfo).Include(u => u.Roles).Include(u => u.Claims).Include(u => u.Logins).FirstOrDefaultAsync(u => u.Id == userId);
}
public override Task<AppUser> FindByNameAsync(string userName)
{
return Users.Include(u => u.CustomInfo).Include(u => u.Roles).Include(u => u.Claims).Include(u => u.Logins).FirstOrDefaultAsync(u => u.UserName == userName);
}
}
public class AccountDbContext : IdentityDbContext<AppUser>
{
public AccountDbContext()
: base("CommonDbContext", throwIfV1Schema: false)
{
}
public static AccountDbContext Create()
{
return new AccountDbContext();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<AppUser>()
.ToTable("User")
.HasRequired(x => x.CustomInfo);
modelBuilder.Entity<UserInfo>().ToTable("UserInfo");
modelBuilder.Entity<IdentityRole>().ToTable("Role");
modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaim");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogin");
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRole");
}
public IDbSet<UserInfo> UserInfos { get; set; }
}
有什麼我可以做AppUserStore像FindByIdAsync和FindByNameAsync? –