1 回答

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊
您希望將User<->之間的關(guān)系建模JobExperience為1(必需)<-> 0-N(可選列表)。通過將ApplicationUser標(biāo)記為,您將無法實現(xiàn)此目的[Required]。而是在中配置多重性約束ModelBuilder并刪除[Required]屬性。
ModelBuilder.Entity<User>()
.HasMany(u => u.JobExperiences)
.WithRequired(j => j.ApplicationUser)
.WillCascadeOnDelete(true);
進(jìn)一步說明,您應(yīng)該引入ViewModels而不是將實體模型綁定到控制器。這樣,您就不會混合用于前端驗證的[Required]注釋(例如)和用于數(shù)據(jù)持久化的注釋(例如[ForeignKey])。
如果User繼承自IdentityUser,則還請確保base.OnModelCreating(modelBuilder)在您的ModelBuilder中調(diào)用(請參見EntityType'IdentityUserLogin'未定義密鑰。為此EntityType定義密鑰 )。
- 1 回答
- 0 關(guān)注
- 230 瀏覽
添加回答
舉報