假设我有三个表,Table1是主表,与Table2和Table3有一对多的关系。
我有一个从查询到数据库创建的匿名类型:
if __name__ == "__main__":
然后我将这样的名字列表扁平化:
var query = context.Table1.Select(x => new
{
x.id,
dates = x.table2.Select(y => y.date),
names = x.table3.Select(z => z.name))
});
然后我希望将IEnumerable的日期与其余数据展平,但为每个日期创建一个新行,如下所示:
var dataset = query.AsQueryable().Select(x => new
{
x.id,
x.dates,
names = string.Join(", ", x.names)
}).ToList();
有没有一种快捷的方式来实现这一目标,还是必须采用id | dates | names
1 | 01/17/2017 | John
1 | 01/18/2017 | John
2 | 01/17/2017 | John, Peter
3 | 01/18/2017 | Peter, Paul
3 | 01/19/2017 | Peter, Paul
3 | 01/20/2017 | Peter, Paul
4 | 01/17/2017 | Peter
5 | 01/18/2017 | Paul
5 | 01/20/2017 | Paul
周期?