我在使用 EF 和 linq 将正确的数据加载到 DTO 时遇到问题。
从我的数据库中,我收到以下示例数据:
1, 1, 1
1, 1, 2
1, 1, 3
2, 1, 4
2, 1, 5
等等
我想将这些数据加载到 DTO 中,它应该如下所示:
int, int, ICollection<int>
所以对于示例数据:
new MyDto(1, 1, new List<int> { 1, 2, 3 });
new MyDto(2, 1, new List<int> { 4, 5 });
这是我的 linq 查询
var result = (from adresses in context.Adress
join person in context.Person on adresses.PersonId equals person.Id
select new MyObj { Id1 = adresses.Id1, Id2 = adresses.Id2, PersonId = person.Id })
但这是错误的,因为它没有按 Id1 和 Id2 分组,也没有将 personIds 放在列表中......
你能告诉我如何实现这一目标吗?