【发布时间】:2020-06-30 02:06:48
【问题描述】:
Include() 方法通常应该返回特定对象的列表,但奇怪的是,它甚至不使用 ThenInclude() 就返回所有嵌套对象。我应该如何阻止这些嵌套对象?
return Db.Courses.Include(x => x.Program).ToList();
这应该返回具有程序对象的课程列表,但它也返回也存在于程序对象中的课程对象。如何打破这个循环?
课程类
public Courses()
{
CourseCoReqsCoRequisiteCourse = new HashSet<CourseCoReqs>();
CourseCoReqsCourse = new HashSet<CourseCoReqs>();
CourseGroupCourses = new HashSet<CourseGroupCourses>();
CoursePreReqsCourse = new HashSet<CoursePreReqs>();
CoursePreReqsPreRequisiteCourse = new HashSet<CoursePreReqs>();
CurriculumCoursePrerequisite = new HashSet<CurriculumCoursePrerequisite>();
EquivalenceCourses = new HashSet<EquivalenceCourses>();
SemesterCourses = new HashSet<SemesterCourses>();
StudentCourses = new HashSet<StudentCourses>();
}
public int CourseId { get; set; }
public string CourseNumber { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public int Credits { get; set; }
public bool? NormallyOfferedFall { get; set; }
public bool? NormallyOfferedSpring { get; set; }
public bool? NormallyOfferedSummer { get; set; }
public bool? NormallyOfferedWinterInt { get; set; }
public bool? NormallyOfferedSpringInt { get; set; }
public bool? NormallyOfferedSummerInt { get; set; }
public bool? IsActive { get; set; }
public bool? IsElective { get; set; }
public int ProgramId { get; set; }
public string Rules { get; set; }
public virtual Programs Program { get; set; }
public virtual ICollection<CourseCoReqs> CourseCoReqsCoRequisiteCourse { get; set; }
public virtual ICollection<CourseCoReqs> CourseCoReqsCourse { get; set; }
public virtual ICollection<CourseGroupCourses> CourseGroupCourses { get; set; }
public virtual ICollection<CoursePreReqs> CoursePreReqsCourse { get; set; }
public virtual ICollection<CoursePreReqs> CoursePreReqsPreRequisiteCourse { get; set; }
public virtual ICollection<CurriculumCoursePrerequisite> CurriculumCoursePrerequisite { get; set; }
public virtual ICollection<EquivalenceCourses> EquivalenceCourses { get; set; }
public virtual ICollection<SemesterCourses> SemesterCourses { get; set; }
public virtual ICollection<StudentCourses> StudentCourses { get; set; }
}
程序类:
public partial class Programs
{
public Programs()
{
Courses = new HashSet<Courses>();
Curricula = new HashSet<Curricula>();
People = new HashSet<People>();
ProgramCourseGroups = new HashSet<ProgramCourseGroups>();
Roles = new HashSet<Roles>();
}
public int ProgramId { get; set; }
public int DepartmentId { get; set; }
public string ProgramCode { get; set; }
public string ProgramName { get; set; }
public bool? IsActive { get; set; }
public bool? IsMinor { get; set; }
public virtual Departments Department { get; set; }
public virtual ICollection<Courses> Courses { get; set; }
public virtual ICollection<Curricula> Curricula { get; set; }
public virtual ICollection<People> People { get; set; }
public virtual ICollection<ProgramCourseGroups> ProgramCourseGroups { get; set; }
public virtual ICollection<Roles> Roles { get; set; }
}
【问题讨论】:
标签: sql-server asp.net-core asp.net-web-api entity-framework-core c#-3.0