存储整个表的数据集并在复制上进行查询,然后使用查询结果更新GridView

时间:2013-01-14 03:01:03

标签: c# asp.net

我是n层企业发展的新手。我刚刚阅读了一个教程,只是阅读了“可能已经有你的答案的问题”,但没有找到我想要的东西。我正在做一个基因学网站,从第一个出现在船上的家伙开始,你点击他的名字,网格上有他所有的孩子,然后点击他的一个孩子,有孩子和网格得到与他的孩子一起居住等等。每条记录都有一个ID和一个ParentID。当您选择任何给定的人时,该ID将被存储,然后用于搜索与返回所有孩子的ParentID匹配的所有记录。数据永远不会改变(至少是用户)所以我想只做一个数据库访问,将所有字段填充到一个数据表中,然后每次重新查询它以获取要显示的记录。在DAL中,我将所有记录放入List中,在ObjectDataSource中,填充GridView的函数只返回所有条目的List。我想要做的是重新查询数据表,用新查询填充列表并显示在GridView中。我的代码有3个文件here

(我无法在此窗口中显示我的代码的反引号)我只需要弄清楚如何在现有DataTable上创建新查询并将其复制到新的DataTable。希望这能解释得很好。 [编辑:每次从数据库中执行一个新查询会更容易,而且资源密集程度较低(将来,如果数据库太大)要存储在内存中,但我只是想知道我是否可以这样做 - 也就是说,从整个表的一个副本工作]任何想法...

1 个答案:

答案 0 :(得分:0)

您的数据本质上代表树结构。 显示它的网格可能不是我的第一选择......

可以使用复杂的SP来查询一个查询中的所有数据。

但你已经在考虑表现了。在提出设计时,请始终牢记这一点。但创造一些东西,改进它,然后才开始优化似乎更好。

由于关系数据库在分层数据上并不是很好,因此请考虑使用nosql(图形)数据库。正如你所提到的,几乎没有对DB的写入,nosql在这里闪耀。