2012-06-02 2 views
1

я «м загрузки 100000 записей с Entity Framework и MS SQL Server 2008 в моем проектеИспользование BindingSource очень медленно, чтобы загрузить данные

эти записи загружаются в течение 3 секунд , когда я с помощью кода, как показано ниже

class BLChequePay 
{ 
    .... 

    public List<ChequePay> GetAll() 
    { 
     var Context = new AccountingEntities(); 
     var Che = Context.ChequePays; 
     return Che.ToList(); 
    } 
} 

private void ChequePayForm_Load(object sender, EventArgs e) 
{ 
    radGridView1.DataSource = ChequePays.GetAll(); 
} 

, но когда я использую BindingSource, они загружаются через 50 секунд. я использовать контроль BindingSource для подключения других элементов управления, таких как текстовое поле, DateTimePicker, и других поля ввода

private void ChequePayForm_Load(object sender, EventArgs e) 
{ 
    chequePayBindingSource.DataSource = ChequPays.GetAll(); 
} 

как уменьшить время загрузки?

+0

Это может делайте добро, чтобы изолировать проблему еще больше. – SimpleVar

+1

«Я загружаю 100000 записей» - это может быть вашей проблемой. Вы действительно ожидаете, что пользователи прочитают 100 000 предметов? Возможно, подкачка может быть более подходящей. –

ответ

2

Сначала измените List<ChequePay> на IEnumerable<ChequePay> - и удалить ToList(), поскольку ToList обычно приводит к тому, что все элементы будут реализованы (то есть выбраны).

1

richard-harrison я имел эту проблему и я не мог решить я думаю, что основная проблема заключается в BindingSource, так как 100000 или более загружены в 3 или 4 секунды, но когда я использовал BindingSource записи загружаются в 1 минуту

Смежные вопросы