我有这些实体:
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<StudentBag>()
.HasRequired(t => t.Student)
.WithRequiredDependent(t=>t.StudentBag);
modelBuilder.Entity<StudentBag>()
.HasRequired(t => t.Student)
.WithRequiredPrincipal(t => t.StudentBag);
如果有人能解释什么是原则和依赖…
最佳答案
很简单,具有指向外部类的导航属性的类是主体。
当所需类具有对主类的引用时,应使用:
带所需主体()
当主类引用所需的类时,应使用:
带RequiredDependent()
这样,下面的两张地图是一样的。
//modelBuilder.Entity<>(Student)
//.HasRequired(t => t.StudentBag)
//.WithRequiredDependent();
modelBuilder.Entity<Student>()
.HasRequired(t => t.StudentBag)
.WithRequiredDependent();
modelBuilder.Entity<StudentBag>()
.HasRequired(t => t.Student)
.WithRequiredPrincipal();