On the basis of the following link Combine tables using row values as column LINQ C# SQL I would combine two IEnumerables using row values as column. Unlike what is written, I am not using tables with constant fields obtained by a web service.
var element = XDocument.Parse(getstring1);
var dataCode = from item in element.Descendants("Field")
where item.Element("Code").Value == "CODE"
select item.Element("Value");
var dataDescription = from item in element.Descendants("Field")
where item.Element("Code").Value == "DESCRIPTION"
select item.Element("Value");
var resultsSet = dataCode.Zip(dataDescription, Tuple.Create);
element = XDocument.Parse(getstring2);
var dataSizeSet = from item in element.Descendants("Field")
where item.Element("Code").Value == "SIZESET"
select item.Element("Value");
var dataSizeId = from item in element.Descendants("Field")
where item.Element("Code").Value == "SIZEID"
select item.Element("Value");
var dataSizeLabel = from item in element.Descendants("Field")
where item.Element("Code").Value == "SIZELABEL"
select item.Element("Value");
var resultsLabel = dataSizeSet.ZipThree(dataSizeId, dataSizeLabel, Tuple.Create);
var results = resultsSet.GroupJoin(resultsLabel,
set => set.Item1,
label => label.Item1,
(set, label) => new
{
set.Item1,
set.Item2,
Label01 = label.SingleOrDefault(x => x.Item2.Value == "1").Item3,
Label02 = label.SingleOrDefault(x => x.Item2.Value == "2").Item3,
Label03 = label.SingleOrDefault(x => x.Item2.Value == "3").Item3,
Label04 = label.SingleOrDefault(x => x.Item2.Value == "4").Item3,
Label05 = label.SingleOrDefault(x => x.Item2.Value == "5").Item3,
Label06 = label.SingleOrDefault(x => x.Item2.Value == "6").Item3,
Label07 = label.SingleOrDefault(x => x.Item2.Value == "7").Item3,
Label08 = label.SingleOrDefault(x => x.Item2.Value == "8").Item3,
Label09 = label.SingleOrDefault(x => x.Item2.Value == "9").Item3,
Label10 = label.SingleOrDefault(x => x.Item2.Value == "10").Item3,
Label11 = label.SingleOrDefault(x => x.Item2.Value == "11").Item3,
Label12 = label.SingleOrDefault(x => x.Item2.Value == "12").Item3,
Label13 = label.SingleOrDefault(x => x.Item2.Value == "13").Item3,
Label14 = label.SingleOrDefault(x => x.Item2.Value == "14").Item3,
Label15 = label.SingleOrDefault(x => x.Item2.Value == "15").Item3,
Label16 = label.SingleOrDefault(x => x.Item2.Value == "16").Item3,
Label17 = label.SingleOrDefault(x => x.Item2.Value == "17").Item3,
Label18 = label.SingleOrDefault(x => x.Item2.Value == "18").Item3,
Label19 = label.SingleOrDefault(x => x.Item2.Value == "19").Item3,
Label20 = label.SingleOrDefault(x => x.Item2.Value == "20").Item3
});
The var "results", if I expand the IEnumerable, contains nothing, and get the following error message: "object reference not set to an instance of an object".
Any idea to suggest me?