【发布时间】:2013-06-03 09:04:45
【问题描述】:
asp.net mvc 4、实体框架 5、SQL Server 2012 Express、代码优先
我有一个 Place 模型:
public virtual int PlaceID { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual string Name { get; set; }
以及相关的Tag模型:
public virtual int TagID { get; set; }
public virtual string Name { get; set; }
public virtual string NamePlural { get; set; }
public virtual ICollection<Place> Places { get; set; }
他们有一个多对多的关系。
我正在选择所有带有“餐厅”标签的地方:
List<Place> Restaurants = allPlaces.Where(
p => p.Tags.Any(
t => t.Name == "Restaurant")).OrderBy(p => p.Name).ToList();
我想按有序标签显示 - 然后按名称排序。
假设有 5 个地方:
My Cafe Bar, Tags="Restaurant", "Cafe", "Bar"
Another Cafe, Tags="Restaurant", "Cafe"
Marios Italian, Tags="Restaurant", "Italian", "Bar"
Donnies Pizzaria, Tags="Restaurant", "Italian"
A1 Chinese, Tags="Restaurant", "Chinese"
Fusion One, Tags="Restaurant", "Chinese", "Italian"
China Garden, Tags="Restaurant", "Chinese"
我想按以下顺序输出(因为它们都是餐厅,所以不需要输出餐厅组):
>>Bars
Marios Italian
My Cafe Bar
>>Cafes
Another Cafe
My Cafe Bar
>>Chinese
A1 Chinese
Fusion One
China Garden
>>Italian
Donnies Pizzaria
Fusion One
Marios Pizzaria
在我看来,我想像上面那样显示它们 - 带有标题。
Linq 可以做到这一点吗?
谢谢。
【问题讨论】:
标签: asp.net asp.net-mvc linq asp.net-mvc-4 linq-to-entities