复杂的sql结果将在一秒钟内输入

iqxoj9l9  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(295)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

10个月前关门了。
改进这个问题
我有一个sqlselect语句,它在一秒钟内运行,并返回50k条记录,这些记录从一个叶节点表匹配到四个表之外的树的顶部。
我没有返回1000个transversable对象,而是希望返回结果id,然后选择要回调的对象。
如何使用sql将此响应转换为c。下面是结果sql响应的示例。
在某种可遍历列表中的所需结果

t1id, t2id, t3id, t4id
24683, 40252, 40, 1519  
24685, 40253, 40, 1519

下面是一个示例查询。
sql语句

SELECT t1.Id as t1id, t2.Id as t2id, t3.Id as t3id, t4.Id as t4id
 FROM [dbo].[table1] t1 
 left join [dbo].[table2] t2 on t2.t1_id = t1.Id
 left join [dbo].[table3] t3 on t3.Id = t2.t3_id
 left join [dbo].[table4] t4 on t4.Id = t3.t4_id

代码
我正在处理的代码示例有

var re = Program.db.Database.SqlQuery<List<string>>(sqlQuery).ToList();
8wtpewkr

8wtpewkr1#

原来我很接近。
我用这个试着得到不起作用的结果

var re = Program.db.Database.SqlQuery<List<string>>(sqlQuery).ToList();

所以我做了一个模型来说明结果

class Temp
{
    public int? t1id { get; set; }
    public int? t2id { get; set; }
    public int? t3id { get; set; }
    public int? t4id { get; set; }        

    public Temp()
    {            
    }    
}

成功了

var re = Program.db.Database.SqlQuery<Temp>(sqlQuery).ToList();

我得到了5万个结果。

相关问题