我们有一个表(25 列 int、text 和 datetime),包含大约一百万条记录,我们需要从 SQL Lite 数据库中提取它们,然后渲染到 wpf xamDataGrid,最快的方法是什么在 C# 中吗?
另外,最有效的方法是什么?
我们考虑过的选项:
获取数据集
实体列表
数据读取器
CSV 数组
提前致谢。
最佳答案
您可以使用后台线程加载数据,并使用主线程的 Dispatcher 填充 ObservableCollection,优先级为 ContextIdle。
Dispatcher UIDispatcher = Dispatcher.CurrentDispatcher;
BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += (sender,e) =>
{
// Use a linq query to yield an IQueryable/IEnumerable List of data from DB
foreach(Data data in DataList) // Enumerated here
{
UIDispatcher.Invoke(DispatcherPriority.ContextIdle, new Action(() =>
{
myOC.Add(data);
}));
}
};
关于.net - 在 C# 中从 SQLite 中提取的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305322/