我正在用c#开发asp.net mvc 2中的小问题答案应用程序。我的情况是这样的: 如何在Linq中构建此场景的查询
在我的行动我有chapterId作为参数,这个字段存在问题表。我想获得chapterId的全部测试主对象。一章可以有多个测试。在测试主题的细节中,我保留特定章节的问题ID。 如何获取List在这里? BU LINQ - 到SQL查询?
我正在用c#开发asp.net mvc 2中的小问题答案应用程序。我的情况是这样的: 如何在Linq中构建此场景的查询
在我的行动我有chapterId作为参数,这个字段存在问题表。我想获得chapterId的全部测试主对象。一章可以有多个测试。在测试主题的细节中,我保留特定章节的问题ID。 如何获取List在这里? BU LINQ - 到SQL查询?
如果我理解正确的话,你可以做这样的:
yourContext.Questions.Where(q => q.ChapterId == chapterId)
.SelectMany(q => q.TestDetails)
.Select(td => td.TestMaster);
谢谢,这是工作完美,只是我添加不同为this.as yourContext.Questions.Where(Q => q.ChapterId == chapterId) .SelectMany(Q => q.TestDetails) 。选择(TD => td.TestMaster).Distinct()。ToList();; – 2011-01-24 10:36:10
用于获取结果的查询将是
VAR的结果=(从问题问 在q.QuestionId testDetails加入TD等于td.QuestionId join tm in testMasters on td.TestId等于tm.TestId select tm).Distinct();
意见:删除TestDetailsId,并在其他两个字段上创建一个复合PK,否则最终会出现我认为不需要的重复项。 – leppie 2011-01-24 10:12:38
你是对的,但由于它是小应用程序,并有一些时间限制,我现在已经避免了它。谢谢亲爱的。 – 2011-01-24 10:35:08