Я не фанат того, как структурирован код ... но вот простой ответ.
Вы добавляете два разных типа элементов в две разные коллекции.
Высоздаем элемент отношений, который связывает два на основе id
Хотя ваши крики кода помогают понять идею, она логична и является хорошим способом связать такие элементы, как работа с базой данных.
Мы можем сделать это просто с помощью Linq, но я бы предпочел придерживаться того, какты пишешь вопрос.
Сначала итерируйте свои элементы, как вы делаете, а затем итерируйте свои отношения.На основе сравнения идентификаторов вы затем выполняете итерации по другим пунктам, и на основе этого окончательного сравнения идентификаторов вы получаете ответ.
foreach (Item2 my_item2 in parent.items2)
{
foreach (Item1_to_Item2_Relationship relatedItem in parent.Item1_to_Item2_Relationships)
{
if (my_item2.id == relatedItem.item2.id_alt)
{
foreach (Item1 item1 in parent.items1)
{
if (relatedItem.item1.id_alt == item1.id)
{
Console.WriteLine(item1.item1_code);
}
}
}
}
}
//Outputs
//CODE_01
//CODE_02