gpt4 book ai didi

c# - 在不复制结果条目的情况下查询或合并一对多关系

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:36 40 4
gpt4 key购买 nike

我有 2 个非常大的数据集。第一个“主表”是一个独特的列表。第二个“Reference Table”与“Main Table”是一对多的关系。

目标:使用跨两个数据集的过滤器进行查询,但显示结果而不复制“主表”的条目。我不希望用户滚动浏览同一行项目的 200 行只是因为一对多“引用表”的字段非常独特。

有什么技术可以解决这个问题吗?

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

这是数据集的示例: data

我正在使用 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: ... }, ... ]
},
...,
]

关于c# - 在不复制结果条目的情况下查询或合并一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51957017/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com