Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

LINQ i traženje po svim kolonama

[es] :: .NET :: ASP.NET :: LINQ i traženje po svim kolonama

[ Pregleda: 4340 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon LINQ i traženje po svim kolonama30.06.2015. u 17:52 - pre 107 meseci
Pozdrav!

Kako da kreiram LINQ upit koji omogućava pretragu po svim kolonama ?

Ja sam probao ovako:

Code:
 var queryX =  from tik in Tikets
                         where
                              (tik.Adresa != null && tik.Adresa.Contains("x"))
                             
                              || (tik.DodeljenKorisniku != null && tik.DodeljenKorisniku.Contains("x"))
                             [b] || (tik.Id_tiket != null && tik.Id_tiket.Equals(int.Parse("x")))[/b]
                              || (tik.ImePrezime != null && tik.ImePrezime.Contains("x"))
                              || (tik.Korisnik_evidentirao != null && tik.Korisnik_evidentirao.Contains("x"))
                              || (tik.Telefon != null && tik.Telefon.Contains("x"))
                              || (tik.TelefonMob != null && tik.TelefonMob.Contains("x"))
                            
                         select tik;
                         
                          queryX.ToList();
            
             queryX.Dump();



Ovo je primer za LINQPad....

Ali imam problem kako da tražim po Int kolonama i Date

Ako neko zna...molim za pomoć

Hvala
 
Odgovor na temu

Laki123

Član broj: 16706
Poruke: 98
*.dynamic.kdsinter.net.



+4 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:17 - pre 107 meseci
Mozes ih prebaciti u string za datum npr. ToShortDateString() i stavljaj ToLower() ako neces case sensitive, npr.
tik.Adresa.ToLower().Contains(tbSearch.Text.ToLower())
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:20 - pre 107 meseci
Pozdrav!

Hvala!!

Ali imam problem jer kada unesem string izbacuje mi grešku kod polja koja su Int.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:21 - pre 107 meseci
ToString()

Edit: odgovorise u medjuvremenu :)
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:22 - pre 107 meseci
Citat:
patak_daca:
Pozdrav!

Hvala!!

Ali imam problem jer kada unesem string izbacuje mi grešku kod polja koja su Int.

Koju gresku?
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:23 - pre 107 meseci
Pozdrav!

Probao sam ali dobijem grešku:

LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.

Hvala!
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:25 - pre 107 meseci
U LINQPadu ovaj code radi odlično:

Code:
int data3;

var queryX =  from tik in Tikets
                         where
                              (tik.Adresa != null && tik.Adresa.Contains("x"))
                             
                              || (tik.DodeljenKorisniku != null && tik.DodeljenKorisniku.Contains("x"))
                              || (tik.Id_tiket != null && tik.Id_tiket.Equals(int.TryParse("x", out data3)))
                              || (tik.ImePrezime != null && tik.ImePrezime.Contains("x"))
                              || (tik.Korisnik_evidentirao != null && tik.Korisnik_evidentirao.Contains("martin"))
                              || (tik.Telefon != null && tik.Telefon.Contains("x"))
                              || (tik.TelefonMob != null && tik.TelefonMob.Contains("x"))
                            
                         select tik;
                         
            queryX.ToList();
            
             queryX.Dump();


A kda ga primenim u VS prijavljuje grešku.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:38 - pre 107 meseci
Citat:
patak_daca:
Probao sam ali dobijem grešku:

LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.


OK, zasto li je imam osecaj da sam bez problema koristio ToString sa linq2sql/EF...
U svakom slucaju, problem je taj sto to nije klasican Linq to objects koji se izvrsava na klijentu vec se parsira i konvertuje u sql. Posto engine nema podrsku za ToString() ne moze ni da ga konvertuje u sql.
Nemam trenutno ideju za resenje osim najbanalnije - da filtriranje po int-ovima i datetime-ovima uradis na klijentu.
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:44 - pre 107 meseci
Pozdrav!

Našao sam rešenje, možda nije nešto ali radi...

Code:
  int myInt;
                int broj=0;
              
                bool isValid = int.TryParse(trazi, out myInt);
                if (isValid)
                {
                    broj = Int32.Parse(trazi);
                }
                else 
                
                {
                    broj = 0;
                }



i onda "broj" "ubacim" ..


Code:
...
 || (tik.Id_tiket != null && tik.Id_tiket.Equals(broj))
...


 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:47 - pre 107 meseci
Dovoljno je:
Code:

int broj=0;
int.TryParse(trazi, out broj);
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: LINQ i traženje po svim kolonama30.06.2015. u 18:50 - pre 107 meseci
Pozdrav!

To je to..

Puno hvala!!

Patak
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: LINQ i traženje po svim kolonama01.07.2015. u 18:09 - pre 107 meseci
Pozdrav!

Probao sam sa dva kriterijuma.
Ukucam u textbox dva parametra, npr. patak, prvi

Trebao bi da filtriram po svim kolonama sa parametrima "patak" i "prvi"
probao sam sa:

Code:
queryX = from tik in queryX
                            join vr in baza_kon.VrsteRadovas on tik.Id_vrste_rada equals vr.Id_vrste_rada
                            join ms in baza_kon.Gradovis on tik.Id_mesto equals ms.Id_mesto
                            where
                                 (tik.Adresa != null && tik.Adresa.Contains(prva_rec))
                                 || (tik.DodeljenKorisniku != null && tik.DodeljenKorisniku.Contains(prva_rec))
                                 || (tik.Id_tiket != null && tik.Id_tiket.Equals(prvi_broj))
                                 || (tik.ImePrezime != null && tik.ImePrezime.Contains(prva_rec))
                                 || (tik.Telefon != null && tik.Telefon.Contains(prva_rec))
                                 || (tik.TelefonMob != null && tik.TelefonMob.Contains(prva_rec))
                                 || (vr.NazivVrsteRada != null && vr.NazivVrsteRada.Contains(prva_rec))
                                 || (ms.NazivGrada != null && ms.NazivGrada.Contains(prva_rec))
                                 || (tik.UserName != null && tik.UserName.Contains(prva_rec))

                                 ||

                                 (tik.Adresa != null && tik.Adresa.Contains(druga_rec))
                                 || (tik.DodeljenKorisniku != null && tik.DodeljenKorisniku.Contains(druga_rec))
                                 || (tik.Id_tiket != null && tik.Id_tiket.Equals(drugi_broj))
                                 || (tik.ImePrezime != null && tik.ImePrezime.Contains(druga_rec))
                                 || (tik.Telefon != null && tik.Telefon.Contains(druga_rec))
                                 || (tik.TelefonMob != null && tik.TelefonMob.Contains(druga_rec))
                                 || (vr.NazivVrsteRada != null && vr.NazivVrsteRada.Contains(druga_rec))
                                 || (ms.NazivGrada != null && ms.NazivGrada.Contains(druga_rec))
                                 || (tik.UserName != null && tik.UserName.Contains(druga_rec))



                            select tik;


ali vraća podatke samo po prvom parametru...( ovo je bio samo test , znam da nije rešenje )

Ako neko može da pomogne...
Hvala puno!

Patak
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.static.isp.telekom.rs.



+1 Profil

icon Re: LINQ i traženje po svim kolonama07.07.2015. u 11:03 - pre 106 meseci
Pozdrav!

Da li je neko pokušao ovako da uradi LINQ to SQL - Enabling Fulltext searching ?

http://sqlblogcasts.com/blogs/...abling-Fulltext-searching.aspx

ako neko zna , molim za pomoć...

Hvala!!

Patak
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: LINQ i traženje po svim kolonama07.07.2015. u 11:16 - pre 106 meseci
Mislim da je veoma pogrešno po svaku cenu forsirati LINQ za određene stvari koje nisu direktno podržane,
i praviti nekakve budževine samo da bi se zvalo da radi preko LINQ-a kao npr. taj full text search.
LINQ je lep i zgodan ali jednostavno ne podržava sve što podržavaju RDBMS.

Lepo napiši SQL upit ili stored proceduru i stvar rešena.
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.static.isp.telekom.rs.



+1 Profil

icon Re: LINQ i traženje po svim kolonama07.07.2015. u 11:20 - pre 106 meseci
Pozdrav!

Čitao sa da ne podržava "Fulltext searching" direktno, nego "onako" malo budža...

Hvala puno!

Pozdrav!
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: LINQ i traženje po svim kolonama

[ Pregleda: 4340 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.