Ich habe ein Formular mit einem Datagridview. Die Datagridview-Datenquelle ist auf einen Entity Framework-Datenkontext festgelegt.Wie verwenden Sie mehrere Abfragen in Entity Framework-gesichertem Datagridview?
_dc = New WarehouseEntities1
_dc.Configuration.ProxyCreationEnabled = False
_dc.USER_MANAGEMENT_INFO.Load()
dgvSUMA.DataSource = _dc.USER_MANAGEMENT_INFO.Local.ToBindingList()
Das funktioniert gut. Ich habe eine Reihe von Suchfeldern, die die Daten filtern, und diese funktionieren auch gut.
If txtUserNameSrch.Text <> "" Then
Dim pOC = _dc.USER_MANAGEMENT_INFO.Local.Where(Function(c) c.USER_NAME.Contains(pQrytxt)).ToList()
dgvSUMA.DataSource = pOC
End If
If Not chkbxIncludeDropped.Checked Then
Dim pOC = _dc.USER_MANAGEMENT_INFO.Local.Where(Function(c) c.USER_STATUS.Contains("ACTIVE")).ToList()
dgvSUMA.DataSource = pOC
End If
Auch dies funktioniert gut, außer dass jeweils nur ein Filter angewendet wird. Ich möchte die Where
Abfragen kombinieren, wenn sie beide gesetzt sind und bis jetzt scheitere ich. Ich möchte sie nicht in if-Anweisungen kombinieren, da ich 15 verschiedene Suchsteuerelemente habe. Stattdessen möchte ich die Filter auf die Ergebnisse des vorherigen Filters anwenden und dann am Ende die Datagridview-Datenquelle festlegen.
Diese post ist ähnlich zu dem, was ich tun möchte, aber in C#
Wenn Sie über diese Ebene des Zugriffs auf UI-Steuerelemente verfügen, führen Sie Ihre Abfrage auf dem UI-Thread aus, die keine offensichtliche Asynchronität aufweist. Sie sollten Ihre Abfrage in einem anderen Thread ausführen. – djv