Сценарий:
У меня есть общий список аудитов и общий список AuditImages. Эти два списка были составлены из таблиц базы данных. В результате ОДИН AuditImage может иметь МНОЖЕСТВО аудитов. Как вы увидите ниже, классы, на которые сопоставляются таблицы, соединяются отношением внешнего ключа «ImageID», когда они находятся в базе данных, однако после извлечения данных в списки в коде «ФИЗИЧЕСКОЕ СОЕДИНЕНИЕ» отсутствует.
Классы, на которые сопоставляются таблицы БД:
public class AuditImage
{
public Guid ImageID { get; set; }
public string LowResUrl { get; set; }
}
public class Audit
{
public Guid AuditID { get; set; }
public Guid ImageID { get; set; }
public DateTime CreatedDate { get; set; }
public string CreatedBy { get; set; }
public string Comment { get; set; }
}
Проблема:
Теперь я хочу составить список объектов «Trail», извлекая данные из каждого списка и объединяя их в «Audit.ImageID == AuditImage.ImageID» в новый список.
public class Trail
{
public Guid ImageID { get; set; }
public DateTime CreatedDate { get; set; }
public string CreatedBy { get; set; }
public string Comment { get; set; }
public string LowResUrl { get; set; }
}
(Вышеупомянутое по существу объединяет поле «LowResUrl» с каждым аудитом на основе того же ImageID.)
Вопрос:
Как мне это сделать!? Я думал об использовании циклов foreach и linq для создания нового списка объектов тропы, но я не могу придумать, как именно я буду это делать?!
Помощь будет принята с благодарностью.