我在c#中组合了一个WinForms实用程序,它允许管理员在我的工作环境中的计算机上查询和执行操作(批量)。我已经开始创建一些模拟项目,以呈现给我的上级。
该实用程序显示:
操作和查询需要更新计算机数据网格视图中的行及其结果。 用户需要能够对datagridview中的列进行排序,并根据计算机位置过滤行。
我的电脑的datagridview填充如下: Datagridview => BindingSource => DataSet =>本地数据库
首次运行Util时,将从Active Directory组中读取计算机列表并将其插入本地数据库。 然后根据数据库中的查询填充计算机的DataTable。 然后将BindingSource绑定到DataTable,并将datagridview绑定到BindingSource以显示给用户。
在选定的计算机上运行Action时,结果将添加到Computers Datatable(反映在Datagridview中),并且还会提交到SQLCEDatabase。
当用户从位置列表中选择不同的位置时,运行SQL查询以使用本地数据库的结果重新填充数据表。
Util不需要保存任何收集的数据,事实上,当首次运行Util时,它会删除本地数据库中的所有记录并重新开始。
我想我可能已经对我的设计过度使用,并希望得到一些建议,以便更好地将它们放在一起。我是否会更好地废弃本地数据库并通过BindingList或其他类型的列表将所有数据保存在内存中?这仍然允许我根据查询过滤datagridview并允许排序吗?
如果这篇文章篇幅冗长且令人费解,我会道歉,但我不知道如何以其他方式表达。
答案 0 :(得分:0)
“首次运行Util时,它会删除本地数据库中的所有记录并重新开始”=>转储数据库并将所有内容保存在内存中。否则你会增加巨大的开销,并且没有任何回报。