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

时间:2018-10-05 13:13:46

标签: entity-framework repository

我有4张桌子 StudentResultResultDetailQueue

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

现在使用实体框架和存储库模式, 我想要 执行->

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个存储库吗? 性能也是一个标准。

谢谢。

1 个答案:

答案 0 :(得分:0)

  

有人可以通过存储库模式帮助实现这一目标吗?

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