繁体   English   中英

转换清单 <int[]> 放入ICollection类型的对象 <int, int[]>

[英]Convert List<int[]> into an object of type ICollection<int, int[]>

我在DB First MVC3项目中有两个表,这些表之间存在多对多链接。

这些表组合在一起,产生一个可编辑的矩阵,并通过Ajax调用将其回传,该回传会传递一个简单数组。

由于多对多关系,我现在需要更改数组:

List<int[]>

带有这样的值:{AssetId:1,CourseId:2} {AssetId:1,CourseId:3} {AssetId:1,1,CourseId:4} {AssetId:2,CourseId:3} {AssetId:2,2,CourseId:4}

到:

ICollection<int, int[]>

具有这样的值:

{AssetId:1,CourseId [2、3、4]} {AssetId:2,CourseId [3、4]}

我被困住了,对您的任何帮助甚至正确方向的帮助都将不胜感激。

非常感谢。

您可以使用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(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM