我有一个非常大的数据库,包含几个表和复杂的关系以及数千条记录。为了简化问题,我说我有一个MySQL数据库如下:
[表1]
[表2]
[表3]
[名称]
然后有关系:
表包含:
我需要在显示列文本名称的DataGridView中显示table1。
我需要一个过滤器应用于每个table1请求,其中我可以为每个表包含一个名称搜索关键字:table1,table2,table3。
我一直在尝试使用DataAdapters手动填充DataSet并添加DataRelations并发现了一些问题:
我真的不想像我之前提到的那样构建'SELECT ... LEFT JOIN'或'SELECT .... table1,table2,table3'查询,我处理超过6个具有嵌套关系的表(例如一个相关的表与另一个表有关。)
我不想检索所有table1记录,然后像我之前说的那样在C#端过滤它们 - 这需要很长时间,而且不需要在屏幕上显示所有记录。所有记录必须仅考虑过滤记录,然后结果可以限制为5,000项。
我理解在这种情况下使用DataSet和DataAdapter可能是错误的。任何其他想法都非常受欢迎,我相信也会有所帮助。谢谢。
有人可以指出我正确的方向吗?