我在DB First MVC3项目中有两个表,表之间有多对多链接。
这些表结合起来产生一个可编辑的矩阵,通过Ajax调用回传一个简单的数组。
由于多对多关系,我现在需要改变数组:
List<int[]>
使用以下值: {AssetId:1,CourseId:2} {AssetId:1,CourseId:3} {AssetId:1,CourseId:4} {AssetId:2,CourseId:3} {AssetId:2,CourseId:4}
致:
ICollection<int, int[]>
使用这样的值:
{AssetId:1,CourseId [2,3,4]} {AssetId:2,CourseId [3,4]}
我被困住,任何帮助甚至是正确方向上的一点都会非常感激。
非常感谢。
答案 0 :(得分:0)
您可以使用GroupBy
方法按照数组的索引对其进行分组,样本:
var groupedResult = list.GroupBy(x => x[0]);
使用foreach
语句循环结果:
foreach(var item in groupedResult)
{
var assetId = item.Key ;
foreach(int courseId in item)
{
// courses Id here
}
}
你建议的解决方案:
var courseIds = list.Where(o => o[0] == item[0]).Distinct();