我有两个具有 1-M 关系的表“Category”和“Movie”(“CategoryID”是“Movie”表中的外键)。我正在使用 ListView 列出所有类别。我的 ListView 内部是 Repeater,它循环遍历每个类别中的所有电影。
在我的代码隐藏中,我将 ListView DataSource 绑定如下:
MovieDBDataContext context = new MovieDBDataContext();
var categories = context.Categories.Select(x => x).OrderBy(x => x.Order).ToList();
ListView1.DataSource = categories;
ListView1.DataBind();
我在标记中绑定了Repeater DataSource,如下所示:
<asp:Repeater runat="server" ID="repeater" DataSource='<%# ((Category)Container.DataItem).CategoryItems.Where(p => p.Active == true).OrderBy(p => p.Name) %>'>
现在我有一个要求,我需要按名称对我的电影进行排序,但是如果电影以“The”开头,那么我需要忽略它并按名称的其余部分排序(所以“指环王”将是排序为“指环王”)。
有没有办法修改我的 Linq 语句以动态操作字符串?