1

Courses,CoursePreRequisites という名前のテーブルと、PreRequisiteTracking という名前の 3 番目の tale があります。1 つの特定の Course には複数の PreRequisites を含めることができるため、Courses テーブルで外部キーを渡すことができず、代わりに PreRequisiteTracking テーブルを作成しました。

例: コース、たとえば、Java の紹介。これには次の前提条件がある場合があります:OOPS、基本的なプログラミング知識。これらの前提条件は、新しいコースを作成するときにチェックボックスで指定されます。今私の問題は、これらすべてのテーブルを結合してビューにリストする方法です。すべてのこれらのテーブルに参加しましたが、ID のみが渡されているため、ビューに表示する前提条件を取得できません。

親切に助けてください、事前に感謝します

4

1 に答える 1

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 は、ビューに表示したい値を持つテーブルです。

次に、コントローラーの Details アクションで次のように指定しました。

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 %>

これが他の人に役立つことを願っています。試してみたところ、うまくいきました。

于 2012-10-18T05:18:08.557 に答える