【发布时间】:2013-11-27 01:38:31
【问题描述】:
我有一个部门,它可以有很多课程和学生。学生可以链接到许多课程,并且课程可以有许多学生注册。我还希望将学生和课程链接到一个部门。
我如何在 EF/Fluent API 中表达这一点,我已经尝试过这些
modelBuilder.Entity<Student>().HasRequired(s => s.Department);
modelBuilder.Entity<Course>().HasRequired(u => u.Department);
modelBuilder.Entity<Course>()
.HasMany(s => s.Students)
.WithOptional()
.WillCascadeOnDelete(false);
modelBuilder.Entity<Course>()
.HasMany(u => u.Students)
.WithMany(s => s.Courses);
modelBuilder.Entity<Student>()
.HasMany(s => s.Courses)
.WithOptional()
.WillCascadeOnDelete(false);
我也尝试了一些其他组合,但没有任何效果,我现在收到此错误
The navigation property 'Courses' declared on type 'Models.Student' has been configured with conflicting multiplicities.
任何提示/帮助?
更新:学生班级看起来像这样
public class Student
{
[Key]
public string Id { get; set; }
[Required]
public string SiteName { get; set; }
public virtual Department Department { get; set; }
public virtual ICollection<Course> Courses { get; set; }
}
课程:
public class Course
{
[Key]
public string Id { get; set; }
[Required]
public string Name { get; set; }
public virtual Department Department { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
【问题讨论】:
标签: c# entity-framework