Ef代码首先在原则和依赖之间存在差异

我有这些实体:

public class StudentBag { public int BagIdentifier { get; set; } public Student Student { get; set; } } public class Student { public string Name { get; set; } public StudentBag StudentBag{get;set;} } 

我想配置一对一的关系。 我的问题是,如果有以下区别:

 modelBuilder.Entity() .HasRequired(t => t.Student) .WithRequiredDependent(t=>t.StudentBag); modelBuilder.Entity() .HasRequired(t => t.Student) .WithRequiredPrincipal(t => t.StudentBag); 

我会很感激,如果有人会解释它是什么意思原则和依赖……

这很简单,具有外部类的导航属性的类是Principal。

必需的类具有对主类的引用时 ,您应该使用: WithRequiredPrincipal()

当主类引用所需的类时,您应该使用: WithRequiredDependent()

例如。 这样下面的两张地图是一样的。

 modelBuilder.Entity<>(Student) .HasRequired(t => t.StudentBag) .WithRequiredDependent(); modelBuilder.Entity() .HasRequired(t => t.Student) .WithRequiredPrincipal();