我試圖設置User
表和UserSettings
表之間的一對一關係。HasRequired爲什麼不能正常工作?
儘管指定了「HasRequired」關係,但我仍然可以在沒有任何設置的情況下插入用戶。我哪裏錯了?
public class ApplicationUser : IdentityUser
{
public ApplicationUser()
{
// Settings = new UserSettings();
}
public string EmailAddress { get; set; }
public virtual UserSettings Settings { get; set; }
}
public class UserSettings
{
[Key]
public string ApplicationUserId { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().HasRequired(t => t.Settings).WithRequiredPrincipal(t => t.User);
}
}
你在哪裏實現了'OnModelCreating()'方法? –
當你說「能夠插入」時,你的意思是什麼?你的代碼是什麼,發生了什麼,以及你期望發生什麼? –
你是否在應用的派生DbContext中重寫'OnModelCreating()'?如果沒有,你應該在那裏做。 –