必須做很多東西才能獲得IGrouping在MVC4中工作c#。下面是我的查詢這是怎麼發生的?
var a = (from r in db.SomeProcedure(Id)
select new MyClass1
{
Id= r.Id,
Title = r.Title,
Name = r.Name,
Number = r.Number,
Product = r.Product,
OtherId = r,OtherId
}).ToList();
//以上收益13個結果如預期
var b = a.GroupBy(x => x.Title ?? "unknown", c => new MyClass2
{
Title2 = c.Title,
Id2 = c.Id,
OtherId2 = c.OtherId,
Number2 = c.Number
});
//以上收益2如預期
List<MyClass1> mClass1 = a;
List<IGrouping<string,MyClass2>> mClass2 = b.ToList();
// 2.以上是相同的如預期的那樣
最後
mPrivateClass1.Clear();
mClass1 .ForEach(o => mPrivateClass1.Add(o));
//以上是13如預期
mPrivateClass2.Clear();
mClass2 .ForEach(p => mPrivateClass2.AddRange(p));
//以上正在返回13中未2按預期方式。我無法使用Add(p)它給出了通用列表<> .Add有一些無效的參數。
mPrivateClass1 is a:
private List<MyClass1> mPrivateClass1 = new List<MyClass1>();
mPrivateClass2 is a:
private List<MyClass2> mPrivateClass2 = new List<MyClass2>();
想要把標題放在一個面板中,所以2個標題首先將第一個查詢的結果作爲孩子 – user1307149