.net - 在 C# 中从 SQLite 中提取的最快方法

标签 .net wpf database c#-4.0

我们有一个表(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/

相关文章:

c# - LINQ:System.Int32 是不可为 null 的值类型

c# - WPF 是否可以在不使用绑定(bind)的情况下更新列表框?

c# - 如何在不更改查询的情况下对条形图进行排序?

c# - WPF:当某个值更改时重新应用 DataTemplateSelector

c# - 我需要在代码隐藏中调用 INotifyPropertyChanged() 吗?

java - H2 数据库数据库降低无效连接设置 (2019)

sql - 在 R studio 中使用 SQL 开放查询

mysql - 在sql中,如何根据列中的约束来计算列中值的百分比?

c# - MSHTML COM 单击提交按钮时出现问题

C# try catch 模式帮助