Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Entity Framework ile dinamik sorgu sıkıntısı

[QUOTE]KullanicilarLB _KullanicilarLB = (KullanicilarLB)Class;
ListT = (from clas in Kullanicilar
where
clas.ID == ((_KullanicilarLB.ID == null || _KullanicilarLB.ID <= 0) ? clas.ID : _KullanicilarLB.ID)
&&
clas.SponsorID == ((_KullanicilarLB.SponsorID == null || _KullanicilarLB.SponsorID <= 0) ? clas.SponsorID : _KullanicilarLB.SponsorID)
&&
clas.KayitTarihi == ((_KullanicilarLB.KayitTarihi == null || _KullanicilarLB.KayitTarihi <= DateTime.MinValue) ? clas.KayitTarihi : _KullanicilarLB.KayitTarihi)
&&
clas.DogumTarihi == ((_KullanicilarLB.DogumTarihi == null || _KullanicilarLB.DogumTarihi <= DateTime.MinValue) ? clas.DogumTarihi : _KullanicilarLB.DogumTarihi)
&&
clas.CepTelefon == (string.IsNullOrEmpty(_KullanicilarLB.CepTelefon) ? clas.CepTelefon : _KullanicilarLB.CepTelefon)
&&
clas.Onayli == ((_KullanicilarLB.Onayli == null) ? clas.Onayli : _KullanicilarLB.Onayli)
&&
clas.Ban == ((_KullanicilarLB.Ban == null) ? clas.Ban : _KullanicilarLB.Ban)
&&
clas.TCKimlik == (string.IsNullOrEmpty(_KullanicilarLB.TCKimlik) ? clas.TCKimlik : _KullanicilarLB.TCKimlik)
&&
clas.AdSoyad == (string.IsNullOrEmpty(_KullanicilarLB.AdSoyad) ? clas.AdSoyad : _KullanicilarLB.AdSoyad)
&&
clas.Eposta == (string.IsNullOrEmpty(_KullanicilarLB.Eposta) ? clas.Eposta : _KullanicilarLB.Eposta)
&&
clas.Adres == (string.IsNullOrEmpty(_KullanicilarLB.Adres) ? clas.Adres : _KullanicilarLB.Adres)
&&
clas.Sehir == (string.IsNullOrEmpty(_KullanicilarLB.Sehir) ? clas.Sehir : _KullanicilarLB.Sehir)
&&
clas.Ilce == (string.IsNullOrEmpty(_KullanicilarLB.Ilce) ? clas.Ilce : _KullanicilarLB.Ilce)
&&
clas.DogumYeri == (string.IsNullOrEmpty(_KullanicilarLB.DogumYeri) ? clas.DogumYeri : _KullanicilarLB.DogumYeri)
&&
clas.SabitTelefon == (string.IsNullOrEmpty(_KullanicilarLB.SabitTelefon) ? clas.SabitTelefon : _KullanicilarLB.SabitTelefon)
&&
clas.GizliSoru == (string.IsNullOrEmpty(_KullanicilarLB.GizliSoru) ? clas.GizliSoru : _KullanicilarLB.GizliSoru)
&&
clas.GizliCevap == (string.IsNullOrEmpty(_KullanicilarLB.GizliCevap) ? clas.GizliCevap : _KullanicilarLB.GizliCevap)
&&
clas.Adres == (string.IsNullOrEmpty(_KullanicilarLB.Adres) ? clas.Adres : _KullanicilarLB.Adres)
&&
clas.OnayKodu == (string.IsNullOrEmpty(_KullanicilarLB.OnayKodu) ? clas.OnayKodu : _KullanicilarLB.OnayKodu)
&&
clas.Sifre == (string.IsNullOrEmpty(_KullanicilarLB.Sifre) ? clas.Sifre : _KullanicilarLB.Sifre)
&&
clas.Ban == ((_KullanicilarLB.Ban == null) ? clas.Ban : _KullanicilarLB.Ban)

select clas).ToList();[/QUOTE]

yukarıda bir sorgu var. zilyon tane parametre hangisi doluysa onu alıyor.

Hatamız Kayıt tarihi ve Doğum Tarihi alanlarının sorguya dahil edilmesi ile başlıyor.

Onlar olmadan çalışan sorgumuz bir tarih sıkıntısı çekmekte.

Hata yok. Sadece sorgu sonucu dönmüyor. Tarih olmadan 1 kayıt varken tarihide katınca 0 kayıt oluyor. halbuki tarih sorguda parametre olarak null geliyor ve sorgulamaya dahil olmaması lazım...
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • seyfside adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    35 cevap - 0 soru
    var sorgu=from p in tablo select p;
    if(deger1!=null)
    sorgu.where(x=>x.kayittarihi==deger1)
    if(deger2!=null)
    sorgu.where(x=>x.dogumtarihi==deger2)

    var sonuc=sorgu.tolist();

    tüm şartları bu kalıba uygun olarak eklersen işini görür galiba
    hem sorgu daha kısa olmuş olur