我有從ApplicationUser繼承了ASP .NET身份兩班從ApplicationUser(IdentityUser)繼承類, 類如下所示:級聯刪除
這是我ApplicationUser類
public class ApplicationUser : IdentityUser
{
public string Name { get; set; }
public string Surname { 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
return userIdentity;
}
}
和兩個類,繼承了它:
public class User : ApplicationUser
{
public virtual ICollection<Repair> Repairs { get; set; }
public virtual ICollection<Vehicle> Vehicles { get; set; }
}
public class Repairer : ApplicationUser
{
public virtual ICollection<Repair> Repairs { get; set; }
}
當我運行代碼首先遷移兩個類是相同的表裏面whic h是具有適當鑑別器和角色的AspNetUsers表。問題是,當我從系統中刪除一些用戶時,我也希望從我的數據庫中刪除所有車輛和維修,但由於在普通數據庫中沒有適當的區別,除了哪個用戶是鑑別者之外,我沒有找到設置方法級聯刪除引用數據庫(車輛和修復)中的適當表的外鍵約束,所以而不是我得到一個異常,或者我在db中的外鍵被設置爲空。
這是一種實現級聯刪除的方法,或者我應該更改我的模型,因爲除此之外,所有工作都正常。
在此先感謝!