Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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# 在不复制结果项的情况下查询或合并一对多关系_C#_Sql Server_Asp.net Mvc_Entity Framework_One To Many - Fatal编程技术网

C# 在不复制结果项的情况下查询或合并一对多关系

C# 在不复制结果项的情况下查询或合并一对多关系,c#,sql-server,asp.net-mvc,entity-framework,one-to-many,C#,Sql Server,Asp.net Mvc,Entity Framework,One To Many,我有两个非常大的数据集。第一个“主表”是一个唯一的列表。第二个“参考表”是与“主表”的一对多关系 目标: 跨两个数据集使用筛选器进行查询,但显示结果时不复制“主表”的条目。我不希望用户仅仅因为一对多“参考表”的字段是高度唯一的,就滚动浏览同一行项目的200行 有什么方法可以解决这个问题吗 我所能想到的就是将“引用表”的行作为列顺序追加到“主表”中,如;a_1,b_1,a_2,b_2 以下是数据集的示例: 我正在使用C#、ASP.NET、SQL Server 2016、Entity Framew

我有两个非常大的数据集。第一个“主表”是一个唯一的列表。第二个“参考表”是与“主表”的一对多关系

目标: 跨两个数据集使用筛选器进行查询,但显示结果时不复制“主表”的条目。我不希望用户仅仅因为一对多“参考表”的字段是高度唯一的,就滚动浏览同一行项目的200行

有什么方法可以解决这个问题吗

我所能想到的就是将“引用表”的行作为列顺序追加到“主表”中,如;a_1,b_1,a_2,b_2

以下是数据集的示例:


我正在使用C#、ASP.NET、SQL Server 2016、Entity Framework

您可以通过将查询分为两部分来获得很多功能:

using (MainContext ctx = new MainContext()) {
  var rows =  from main in ctx.Main
              select new 
              {
                Main = main,
                References = from r in ctx.References
                             where r.Id == main.Id
                             select r
              }

  // Do something with your rows
}
这将向数据库发送一个查询,并在
Main
中每行返回一个实体,该实体具有一个单独的属性,该属性将包含该
Main
行的所有元数据

例如,如果使用WebAPI调用将其发送回客户端,则客户端上的数据如下所示:

[{
  main: { id: ..., x: ..., y: ..., z: ...},
  references: [{ a: ..., b: ... }, {a: ..., b: ... }, ... ]
},
...,
]

如果需要以表格格式显示此数据,则可以使用父表和子表,其中主表数据显示在父表中,并且每行有一个图标用于展开/折叠数据,一旦用户展开行,则子表将加载其引用记录…这很完美,谢谢你如果你解释下你想如何使用数据,我可以详细说明如何操作数据。请你看一下关于数据/逻辑的更多细节。我想你在这里的回答与这个问题有关。这个问题被删除了?我暂时解决了这个问题。请检查这个: