从多个表中检索值并使用List数据类在强类型视图中显示

时间:2012-10-15 10:54:20

标签: asp.net-mvc-2

我有一个名为Courses,CoursePreRequisites的表和第三个名为PreRequisiteTracking.Tne的故事。特定课程可以包含多个PreRequisites,因此我无法在Courses表中传递外键,而是创建了PreRequisiteTracking表。

例如:课程,比如,Java简介。这可能有以下先决条件:OOPS,基本编程知识。 创建新课程时,这些先决条件在复选框中给出。 现在我的问题是如何加入所有这些表并在View中列出它们。 我加入了所有这些表,但由于只传递了ID,我无法检索要在视图中显示的PreRequisites。

请帮助我,提前致谢

1 个答案:

答案 0 :(得分:0)

我得到了我的帖子的答案。

我所做的是在我的班级中我宣布了一个属性:

enter code here
`public class CourseModel{`
`public string coursename{set;get;}`
`public string coursecode{set;get;}`
`public string Benefits{set;get;}`
`public IEnumerable<CoursePreRequisites> display{set;get;}`
       }

此处CoursePreRequisites是表格,其值我希望在视图中显示。

然后在我的控制器中,我给出了详细信息:

enter code here:var query=(from cours in db.courses
       join level in db.courselevels on cours.levelid equals level.levelid
       where cours.courseid==id
       select new CourseModel
       {
          coursename=cours.CourseName,
          coursecode=cours.CourseCode,
          Benefits=cours.Benefits,
          display=(from courss in db.course
                   join track in db.prerequisitetrack on courss.CourseId equals                                            track.CourseId
                    join prerequistes in db.courseprerequisite on prerequistes.prerequsiteId equals track.prerequsiteId
                    where track.courseid==id select prerequsite).AsEnumerable()
        }).First() as Models.CourseModel;

然后创建一个强类型的Class类型视图并给出:

enter code here:<%foreach(var item in Model.display) {%>  
   <%:item.PreRequisites %>
 

希望这对其他人有用。我试过,它对我有用。