【发布时间】:2012-09-13 06:49:05
【问题描述】:
我正在尝试首先在代码中编写以下代码...因为我刚刚开始我无法...请帮助..提前谢谢
1. 学生:学生将拥有学生证、名字、姓氏
学生应该属于一个班级和一个部门(基本上与每个实体是一对一的关系)
2.类:类将有ClassId,Name
班级应该有学生的集合和部分的集合(基本上与每个实体有多对多的关系)
3. 部分:部分将有 SectionID、Name
部分应该属于一个班级并且应该有学生的集合(基本上与班级的一对一关系和与学生的一对多关系)
以下是相同的代码
Students.cs
public class Students
{
public int StudentsId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string UserName { get; set; }
public decimal Grade { get; set; }
public int ClassesId { get; set; }
public Classes Classes { get; set; }
public int SectionsId { get; set; }
public Sections Sections { get; set; }
}
类.cs
public class Classes
{
public int ClassesId { get; set; }
public string Name { get; set; }
public ICollection<Sections> Sections { get; set; }
}
Sections.cs
public class Sections
{
public int SectionsId { get; set; }
public string Name { get; set; }
public int ClassesId { get; set; }
public Classes Classes { get; set; }
public ICollection<Students> Students { get; set; }
}
如果我这样做,我会收到错误提示:
引入 FOREIGN KEY 约束 表“Sections”上的“FK_dbo.Sections_dbo.Classes_ClassesId”可能会导致 循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
我知道我可以使用流畅的 API 并告诉不要在删除时级联来消除此错误,但我不想这样做。有没有其他解决方案?请帮忙
【问题讨论】:
标签: entity-framework ef-code-first cascade