0
我想按CategoryId分組,並顯示組的CategoryId + Name屬性,我需要幫助修改此代碼,以便Name屬性可以顯示,查看下面的視圖看看我是什麼意思。Linq分組獲得多個屬性
數據庫
ItemCategory
INT項目Id
INT的CategoryId
類別
INT的CategoryId
詮釋?的ParentId
字符串名稱
var itemcategories = db.Fetch<ItemCategory, Category>(@"SELECT * FROM ItemCategory LEFT JOIN Category on Category.CategoryId = ItemCategory.CategoryId WHERE ItemId = @0", item.ItemId);
var grouped = from b in itemcategories
where b.Category.ParentId != null
group b by b.Category.ParentId ?? 0 into g
select new Group<int, ItemCategory> { Key = g.Key, Values = g };
public class Group<K,T>
{
public K Key;
public IEnumerable<T> Values;
}
鑑於
@foreach (var group in @Model.ItemCategories)
{
@group.Key **Category.Name should be displayed here**
}
foreach (var value in group.Values)
{
@value.Category.Name
}
你能更精確的問題是什麼?你已經擁有'@ value.Category.Name'。問題是您期望'@ group.Key'成爲類別的名稱嗎? – 2014-11-02 17:37:24
是的,我想@ group.key是類別的名稱。 – 2014-11-02 17:58:48
但是你設計Group類的方式是不可能的,因爲'Key'的類型是'int','Category.Name'的類型是'string'。那麼我們如何做到這一點? – 2014-11-02 18:12:31