asp.net mvc 4、实体框架 5、SQL Server 2012 Express、代码优先
我有一个地方模型:
public virtual int PlaceID { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual string Name { get; set; }
和相关的标签模型:
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可以做到吗?
谢谢。