Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Linq将一次命中的层次结构加载到数据库_C#_Sql_Postgresql_Linq - Fatal编程技术网

C# 使用Linq将一次命中的层次结构加载到数据库

C# 使用Linq将一次命中的层次结构加载到数据库,c#,sql,postgresql,linq,C#,Sql,Postgresql,Linq,我们有一个表结构,类似于带有订单行表的订单表,我们根据用户需求定义了表中项目的层次结构,方法是在每个级别存储一个由逗号分隔的记录id列表组成的字符串。这允许用户根据需要“重新排序”其线路 e、 g 顺序上的层次结构字符串可能类似于“3,2,4”,这意味着它的顶级子级是第3,2,4行(按该顺序)。 第一个订单行可能有自己的层次结构字符串,如“5,6”,表示它有嵌套的子项,这些子项应该出现在它下面 我们希望以对象的平面列表的形式返回此数据结构,并标记其在层次结构中的“深度”。例如,如果数据如下所示:

我们有一个表结构,类似于带有订单行表的订单表,我们根据用户需求定义了表中项目的层次结构,方法是在每个级别存储一个由逗号分隔的记录id列表组成的字符串。这允许用户根据需要“重新排序”其线路

e、 g

顺序上的层次结构字符串可能类似于“3,2,4”,这意味着它的顶级子级是第3,2,4行(按该顺序)。 第一个订单行可能有自己的层次结构字符串,如“5,6”,表示它有嵌套的子项,这些子项应该出现在它下面

我们希望以对象的平面列表的形式返回此数据结构,并标记其在层次结构中的“深度”。例如,如果数据如下所示:

标题: 线:

我们需要这样一个简单的列表(按此顺序):


这可以通过实体框架中的某种连接过程一次完成,而不是通过我们的记录循环并在我们前进的过程中建立起来,还是我们太雄心勃勃了?

这不是问题的答案,但在这个概念性问题上有一些很好的背景阅读。
{Line1Object}, 1
{Line3Object}, 2
{Line2Object}, 2
{Line4Object}, 2
{Line5Object}, 3
{Line6Object}, 3