Я использую vb.net 2017, Entity Framework 6 с SQL Server 2008r2.
В моей форме у меня есть devexpress gridview.Вид сетки привязан к Bindingsource (MyBindingsource) во время разработки.
Моя таблица в базе данных содержит около 2300 записей.
Во время выполнения у меня есть этот код:
....
dim myquery as ienumerable(of Myobject)
myQuery=From t in Context.Myobject select t
Mybindingsource.Datasource=Myquery.Tolist
все эти инструкции выполняются мгновенно, и я проверил, что запрос содержит все 2300 записей, но после этого требуется 4 минуты для отображения всех записей в Gridview.
Что я могу сделать?
Спасибо!
Обновление
Я исследовал все события, которые я использую с моей сеткойи я обнаружил, что все проблемы были вызваны этим:
Private Sub gridView_CustomRowFilter(sender As Object, e As DevExpress.XtraGrid.Views.Base.RowFilterEventArgs)
Dim gridr As Object = gridView.GetRow(e.ListSourceRow)
e.Visible = IsNothing(gridr) OrElse context.Entry(gridr).State <> Entity.EntityState.Deleted
e.Handled = True
End Sub
С маленькими данными нет проблем, и именно поэтому я не заметил раньше.Но мне нужно это событие, потому что, когда пользователь удаляет запись, я не удаляю ее из bindingsource до тех пор, пока не будет нажата кнопка «Сохранить», но хочу скрыть ее от вида сетки.
Что я могу сделать?
Спасибо!