Bildirim
EF context.SqlQuery nasıl kullanılıyor?
Daha Fazla
Bu Konudaki Kullanıcılar:
Daha Az
2 Misafir - 2 Masaüstü
Giriş
Mesaj
-
-
tahminde bulunuyorum. public int ID { get; set; } nullable olsa belki sorgun çalışır ama mantalite olarak saten EF ile plain sql kullanmamalısın. plain sorgu yazacaksan dapper veya peta tarzı mini orm kullanabilirsin. Zaten uyarı da ID içermiyor diyor. Birde yazdığın sorgu Ef ile rahatlıkla yazılabilecek bir sorgu.
from u in URUNLER
group by b.URUNLER into g
where g.sum(s=> s.ADET) > 20
ya da context.Database.SqlQuery<string>(
"SELECT Name FROM dbo.Blogs").ToList();
Buradaki gibi STring yerine kendin sonradna bu isteğe uygun baska bir poco yapıp deneyebilirsin. ama SqlQuery girmemen lazım. Ef bunu sık kullanın diye koymuyor aslında.
Iki orm aynı proje de kullanmak da bana mantıklı gelmiyor. Ya birini ya diğerini kullanman mantıklı. -
Teşekkürler abi deneyeceğim -
Abi yaptım sağol 3 türlü yapmasınıda öğrendim ama şunu beceremedim bu attıgım ilk 2 kodda tüm verileri gruplayıp getiriyor ama ben adeti 20 den az olanları getirmesi için <20 yi nereye koymam lazım beceremedim x.adetden sonra <20 diyince hata veriyor. 3.Attıgın kodda ama doğru şekilde getiriyor tekrardan ilgin için çok sağol 3. koddaki gibi yapmak bana çok kolaylık sağlayacak ama neden bunu önermediğini öğrenebilir miyim?
3 Türlüde çalışıyor.AzalanStoklar.DataSource = ctx.URUNLERs.GroupBy(urunadi => urunadi.URUNADI).Select(g => new { UrunAdi = g.Key, Adet = g.Sum(x => x.ADET) }).ToList();
var deneme = from u in ctx.URUNLERs
group u by u.URUNADI into g
select new { UrunAdi = g.Key, Adet = g.Sum(x => x.ADET) };
AzalanStoklar.DataSource = deneme.ToList();var azalans = ctx.Database.SqlQuery<STOKAZALAN>("select URUNADI,Sum(ADET) as 'ADET' from dbo.URUNLER group by URUNADI having Sum(ADET)<=20 order by Sum(ADET)").ToList();
AzalanStoklar.DataSource = azalans;class STOKAZALAN
{
public string URUNADI { get; set; }
public Nullable<int> ADET { get; set; }
}
< Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 2 Mart 2019; 16:1:57 >
-
ef kullanırken ürettiği sql dosyalarına development anına bakman lazım. N+1 sorunu diye bir sorun ormlerde yaygın. Bazen optimum sorgu üretmiyor. Gidip tek tek çekebiliyor. O yüzden ormlerde ürettiğin sorguyu kontrol etmekte yarar var.quote:
Orijinalden alıntı: ORGANIKHOSAF
Abi yaptım sağol 3 türlü yapmasınıda öğrendim ama şunu beceremedim bu attıgım ilk 2 kodda tüm verileri gruplayıp getiriyor ama ben adeti 20 den az olanları getirmesi için <20 yi nereye koymam lazım beceremedim x.adetden sonra <20 diyince hata veriyor. 3.Attıgın kodda ama doğru şekilde getiriyor tekrardan ilgin için çok sağol 3. koddaki gibi yapmak bana çok kolaylık sağlayacak ama neden bunu önermediğini öğrenebilir miyim?
3 Türlüde çalışıyor.AzalanStoklar.DataSource = ctx.URUNLERs.GroupBy(urunadi => urunadi.URUNADI).Select(g => new { UrunAdi = g.Key, Adet = g.Sum(x => x.ADET) }).ToList();
var deneme = from u in ctx.URUNLERs
group u by u.URUNADI into g
select new { UrunAdi = g.Key, Adet = g.Sum(x => x.ADET) };
AzalanStoklar.DataSource = deneme.ToList();var azalans = ctx.Database.SqlQuery<STOKAZALAN>("select URUNADI,Sum(ADET) as 'ADET' from dbo.URUNLER group by URUNADI having Sum(ADET)<=20 order by Sum(ADET)").ToList();
AzalanStoklar.DataSource = azalans;class STOKAZALAN
{
public string URUNADI { get; set; }
public Nullable<int> ADET { get; set; }
}
Sayfa:
1
Ip işlemleri
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X