Linq   otázka

LINQ, Databáze

Zdravím všechny

Potřeboval bych poradit s následujícím

Načtu si tabulku např. dopravců z SQL serveru.

Poté chci např. filtrovat nějakého dopravce, ale přijde mi zbytečné znovu načítat celý seznam z SQL serveru. Vše krásně funguje pokud se odkazujei na zdroj dat v jedné proceduře. Bohužel nevím jak se odkazovat na tento zdroj mimo spouštěcí proceduru. Viz příklad.

Module ModulePublic
    Public Dopravci = From d In db.tbl_Dopravcis.ToList _
                    Where d.Aktivni = True _
                    Order By d.Nazev _
                    Select Nazev = Trim(d.Nazev), d.ID
End Module

Public Class Dialog_Vratky
Private Sub cbxDopravce_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbxDopravce.Click
        cbxDopravce.DataSource = Nothing

            cbxDopravce.DataSource = Dopravci 'Načte správně !!!
            cbxDopravce.DisplayMember = Trim("Nazev")
            cbxDopravce.ValueMember = "ID"
            cbxDopravce.SelectedIndex = -1
            
            Dim DopravciFiltr = (From df In Dopravci _ 
                                Where (df.ID = 1) _
                                Select df).First
            MsgBox(DopravciFiltr.Nazev.ToString)
End Class

Výsledek je takový, že seznam se do komba v pohodě načte ale druhý dotaz "DopravciFiltr" se neprovede, přestože mají oba stejný zdroj dat.

Souhrnem, jde mi o to, abych nemusel psát v rozsáhlé aplikaci 10 x stejný dotaz a měl ho uložen jen jednou, mohl se na uvedený seznam resp. tabulkou kdykoliv odkazovat a nemusel tak opakovaně sahat na SQL server a tahat z něho stále stejný zdroj dat.

popis chyby: Error 1 Expression of type 'Object' is not queryable. Make sure you are not missing an assembly reference and/or namespace import for the LINQ provider.

Můžete mi někdo poradit ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback