我正在从SQL Server数据库中读取大量数据(大约2.000.000个条目),我想在winforms GridView
中将其打印到最终用户。
第一种方法
第一个想法是使用SQLDataReader
,通常不会花太多时间从有200,000个条目的表中读取。但在上面的例子中使用了太多的内存(和时间!)。
实际解决方案
使用的实际解决方案是通过LINQ
(dbml
文件)从数据库中读取,这很好,因为它将组件直接插入数据库服务器。它正在加载动态数据,这真的很棒。
问题
问题是:
FeedBack Source
时,在我看来,我无法通过代码读取网格的列。这是为了将我的LookUpSearchEdit
插入源:
slueTest.Properties.DataSource = lifsTest; // This is the LinqInstantFeedbackSource
gvTest.PopulateColumns();
当我这样做时:
gv.Columns["FirstColumn"] // "FirstColumn" is the name of the field in the LINQ Class (and in the DB)
它引发了例外......
根本无法访问FeedBackSource
中的数据...)
我丢失了LookUpSearchEdit
的所有功能,我认为这是因为数据是即时读取(排序,搜索等)。< / p>
问题
我这样做了吗?或者是否有更好的方法从数据库中打印大量数据而不会占用大量内存/时间?