我有这些实体:
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);
如果有人能解释一下原则和依赖的含义,我将不胜感激......
最佳答案
很简单,对外部类有导航属性的类就是Principal。
当需要的类有对主类的引用时,你应该使用: WithRequiredPrincipal()
当需要的类被主类引用时,你应该使用: WithRequiredDependent()
例如。这样下面的两张 map 是一样的。
//modelBuilder.Entity<>(Student)
//.HasRequired(t => t.StudentBag)
//.WithRequiredDependent();
modelBuilder.Entity<Student>()
.HasRequired(t => t.StudentBag)
.WithRequiredDependent();
modelBuilder.Entity<StudentBag>()
.HasRequired(t => t.Student)
.WithRequiredPrincipal();
关于c# - ef代码第一个principal和dependent的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24053263/