如何从LINQ中包含的实体中进行选择,并获得类似于SQL Join的平面列表?

艾伦2

我有两节课:

public class Topic
{
    public Topic()
    {
        this.SubTopics = new HashSet<SubTopic>();
    }
    public int TopicId { get; set; }
    public string Name { get; set; }
    public virtual ICollection<SubTopic> SubTopics { get; set; }
}

public class SubTopic
    public int SubTopicId { get; set; }
    public int Number { get; set; }
    public int TopicId { get; set; }
    public string Name { get; set; }
    public virtual Topic Topic { get; set; }
}

我想做的是从LINQ获取数据传输对象的输出,该输出将显示给我。如果该主题内有多个SubTopic,我确实希望看到TopicId重复:

TopicId  Name     SubTopicId  Name
1        Topic1   1           SubTopic1
1        Topic1   2           SubTopic2
1        Topic1   3           SubTopic3
2        Topic2   4           SubTopic4

我试图编写这样的Linq语句:

            var r = context.Topics
                .Select ( s => new {
                        id = s.TopicId,
                        name = s.Name,
                        sid = s.SubTopics.Select( st => st.SubTopicId),
                        sidname = s.SubTopics.Select ( st => st.Name)
                    }).
            ToList();

但这实际上并不起作用,因为它将sid和sidname返回为列表。

我将如何获得显示我需要的固定输出?

威科

您需要SelectMany按照以下方式扩展嵌套集合

var r = context.Topics.SelectMany(t => t.SubTopics
 .Select(st => new 
    {
        TopicID = t.TopicId, 
        TopicName = t.Name, 
        SubTopicID = st.SubTopicId,
        SubTopicName = st.Name
    }));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在平面列表中显示多行

来自分类Dev

如何从列表列表中制作平面列表?

来自分类Dev

如何从列表列表中制作平面列表?

来自分类Dev

如何从python中的平面列表创建列表列表

来自分类Dev

如何水平和垂直渲染平面列表?

来自分类Dev

未显示如何修复平面列表

来自分类Dev

React Native中的函数内部的平面列表

来自分类Dev

木偶中嵌套元素的平面列表

来自分类Dev

LINQ根据子顺序对平面列表进行排序

来自分类Dev

当我使用 Merge Join 有多个平面文件时,如何在 SSIS 中进行转换?

来自分类Dev

使用LINQ将平面列表合并到层次结构中

来自分类Dev

如何从本机反应的平面列表中选择特定项目?

来自分类Dev

在python中合并列表列表(类似于string.join但作为列表理解吗?)

来自分类Dev

如何在平面列表中显示Firebase中的数据?

来自分类Dev

如何隐藏/显示平面列表中的文本输入反应原生?

来自分类Dev

如何仅展开平面列表中的一项

来自分类Dev

如何在Python中对元组列表列表进行平面映射?

来自分类Dev

如何在 Android 表单中进行过滤的类似选择选项的下拉列表?

来自分类Dev

使用lodash按父级ID对平面列表进行排序

来自分类Dev

C#对父/子列表进行排序以生成平面输出

来自分类Dev

对平面列表上的单个项目进行动画处理

来自分类Dev

在React Native中组件未在平面列表中返回

来自分类Dev

如何使用“级别”填充基于平面列表的树形视图?

来自分类Dev

如何将平面列表转换为嵌套的树状结构?

来自分类Dev

如何将字典转换为平面列表?

来自分类Dev

如何将嵌套列表显示为平面表?

来自分类Dev

如何将平面列表转换为嵌套的树状结构?

来自分类Dev

如何将嵌套列表显示为平面表?

来自分类Dev

旋转3D阵列/列表中的平面

Related 相关文章

  1. 1

    在平面列表中显示多行

  2. 2

    如何从列表列表中制作平面列表?

  3. 3

    如何从列表列表中制作平面列表?

  4. 4

    如何从python中的平面列表创建列表列表

  5. 5

    如何水平和垂直渲染平面列表?

  6. 6

    未显示如何修复平面列表

  7. 7

    React Native中的函数内部的平面列表

  8. 8

    木偶中嵌套元素的平面列表

  9. 9

    LINQ根据子顺序对平面列表进行排序

  10. 10

    当我使用 Merge Join 有多个平面文件时,如何在 SSIS 中进行转换?

  11. 11

    使用LINQ将平面列表合并到层次结构中

  12. 12

    如何从本机反应的平面列表中选择特定项目?

  13. 13

    在python中合并列表列表(类似于string.join但作为列表理解吗?)

  14. 14

    如何在平面列表中显示Firebase中的数据?

  15. 15

    如何隐藏/显示平面列表中的文本输入反应原生?

  16. 16

    如何仅展开平面列表中的一项

  17. 17

    如何在Python中对元组列表列表进行平面映射?

  18. 18

    如何在 Android 表单中进行过滤的类似选择选项的下拉列表?

  19. 19

    使用lodash按父级ID对平面列表进行排序

  20. 20

    C#对父/子列表进行排序以生成平面输出

  21. 21

    对平面列表上的单个项目进行动画处理

  22. 22

    在React Native中组件未在平面列表中返回

  23. 23

    如何使用“级别”填充基于平面列表的树形视图?

  24. 24

    如何将平面列表转换为嵌套的树状结构?

  25. 25

    如何将字典转换为平面列表?

  26. 26

    如何将嵌套列表显示为平面表?

  27. 27

    如何将平面列表转换为嵌套的树状结构?

  28. 28

    如何将嵌套列表显示为平面表?

  29. 29

    旋转3D阵列/列表中的平面

热门标签

归档