【发布时间】:2014-03-03 11:44:39
【问题描述】:
我有以下课程:
public class CourseSection
{
[Key]
public int CourseSectionID { get; set; }
public int CourseID { get; set; }
public string Title { get; set; }
public virtual ICollection<SectionContent> SectionContents { get; set; }
}
而子类SectionContent如下所示:
public class SectionContent
{
[Key, Column(Order = 0)]
public int CourseSectionID { get; set; }
[ForeignKey("CourseSectionID")]
public virtual CourseSection CourseSection { get; set; }
[Key, Column(Order = 1)]
public int ContentID { get; set; }
[ForeignKey("ContentID ")]
public virtual Content Content { get; set; }
public int ContentOrder { get; set; }
}
我希望能够根据 ContentOrder 字段对 sectioncontent 列表进行排序,我的 sectioncontent 表中有以下数据:
CourseSectionID ContentID ContentOrder
1 212 1
1 208 2
1 214 3
1 210 4
但是当在视图中显示这个时,我无法根据 ContentOrder 属性对部分内容进行排序。它基于 ContentID 显示,因此显示为 208,210,212,214。如何根据此属性订购 SectionContents?这是我的剃刀视图代码:
foreach (var sectionItem in Model.CourseSections)
{
<li>
<h5 class="accordion-title">@sectionItem.Title<span class="accordion-icon"></span></h5>
<div class="accordion-content">
<ul>
@foreach (var subSectionItem in sectionItem.SectionContents)
{
<li><a href="#" id="menuItem @subSectionItem.ContentID @sectionItem.CourseSectionID" onclick="SubItemMenu(id)">@subSectionItem.Content.Name</a></li>
}
</ul>
</div>
</li>
}
【问题讨论】:
标签: c# linq virtual icollection