使用 EF 关系表的存储库模式实现

Repository Pattern implementation WITH EF relational tables

我有4张桌子 StudentResultResultDetailQueue

ResultResultDetailsResultID 作为外键相关。 StudentResultStudentID 关联为 ForeignKey
Student 可以有 'N' 个结果,但只有一个有效 ResultQueueStudentStudentID 相关。

现在使用 Entity Framework 和存储库模式, 我想要 执行 ->

Queue q join Student  s on q.StudentID = s.StudentID
join Result r on q.StudentId = r.StudentID
Join ResultDetail  rd on t.ResultID = rd.ResultId where r.IsActive = 1

有人可以帮助使用存储库模式实现这一目标吗? 即使我们在表之间有关系,我们是否需要创建 4 个存储库。 性能也是一个标准。

提前致谢。

Could some one please help in achieving this with Repository Pattern?

是的。创建 DbContext 的自定义子类型以用作您的存储库。为每个实体类型添加一个 DbSet 属性。还将导航属性放在您的实体上,这样您的查询就不必在 LINQ 中使用 join