我将尝试设置一个场景以使我的示例更清晰,但假设我的 SQL Server 数据库有 2 个表,一个带有人名、出生日期、最喜欢的颜色和 ID,另一个带有 personID 和电子邮件的表。这是一对多的关系(1 个人的许多电子邮件地址)。假设只有 1 个人有 2 个电子邮件地址。当我SELECT *
在我的网页上显示 a 的结果时,我会看到 2 行,唯一的区别是电子邮件地址(和 ID,但对于本示例,我不会显示 ID 的结果)。
我的问题是,我们如何解决这个问题以将其显示为仅一个“项目”并且电子邮件以逗号分隔。请考虑这些图像之前和之后:
由于数据库中的连接,数据将出现两次,因为它们是 2 行:
这就是我想要的:
在我的网页中,我按 ID 对结果进行排序,记下当前 ID,并将其与每次迭代的前一个 ID 进行比较,如果匹配,则继续显示电子邮件的结果,直到 previousID 与 recentId 不同。这也意味着之前将最喜欢的颜色记为变量并在没有更多匹配 ID 时显示它(我希望这是有道理的)。
这可以吗,或者在使用 EF 时有一种优雅的方式吗?