c# - 如何管理内存有限的网格中显示的数百万行

标签 c# .net wpf devexpress-wpf ndatabase

我有一个 WPF 数据网格,当前显示数百万行 IMyObj 类型。现在我已经涵盖了我们必须渲染所需内容的部分。我正在使用 DevExpress's pLinqInstantFeedbackDataSourceDevExpress's Grid .它只负责渲染显示的内容。但另一方面,实际数据存储在 ObservableCollection 中。 .现在 DevExpress 说我唯一的问题是将内容保存在 ObservableCollection 中的内存中。 .

我评估了以下解决方案以将内容存储在文件系统中并仅加载部分对象列表。

NDatabase

STSDB

这是另一个问题,我的应用程序正在使用 dynamic objects . NDatabase不支持多线程开始和STSDB不能很好地存储动态对象。

我希望我的应用程序能够转储文件系统中的所有内容,并且当 Gridview 滚动条位置发生变化时,它应该只触发某些对象的加载。

您对管理 dynamic objects 的大数据有何建议? ?

最佳答案

我可以想到几个解决方案:

  • 为您的dynamic 类型手动创建映射配置并使用您想要的任何数据库
  • 使用Dapper ,根据规范:

Execute a query and map the results to a strongly typed List

但我从来没有用过它。

关于c# - 如何管理内存有限的网格中显示的数百万行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19676877/

相关文章:

c# - 如何让 JavaScriptSerializer 忽略 [ScriptIgnore] 标签?

c# - 如何使用 webclient 异步下载多个文件,但一次下载一个文件?

c# - 搜索 ArrayList

c# - Xml序列化-直接渲染Root下的对象列表-Xml-Element

wpf - 单击、拖动和滚动 Canvas View

c# - ASP.Net 核心 : Hundreds of Build Errors Suddenly

c# - .NET Custom UserControl 的内容在调整父级大小时消失

c# - 来自 WCF 服务的方法未显示在客户端应用程序中

wpf - 在WPF MVVM Prism应用程序中使用OnPropertyChanged和发布之间有什么区别?

wpf - EventAggregator,它是线程安全的吗?