设想:
我有一个通用的审计列表和一个通用的 AuditImage 列表。这两个列表是从数据库表中编译的。因此,一个 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; }
}
问题:
我现在想通过从每个列表中提取数据并将其在“Audit.ImageID == AuditImage.ImageID”上组合到一个新列表中来编译一个“Trail”对象列表。
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 来创建一个新的跟踪对象列表,但我不太清楚我将如何去做?!
帮助将不胜感激。