none
Dizi elemanalarını tek bir linq cümlesi ile aramak RRS feed

  • Soru

  • Merhaba
    Formdan gelen 4-5 tane id bilgisi mevcut elimde. Bunları bir tablonun içinde aramak istiyorum. Fakat bunu foreach kullanmadan yapmam mümkün mü? nitekim foreach kullandığımda her id için tek tek sorgulama yapıyor ama ben tek bir sorguda bunu halletmek istiyorum. Şimdiden ilginiz için teşekkür ederim.

    Aslında orders a foreach dışından erişmek istiyorum. Bu yüzden böyle bir yöntem arıyorum.

     foreach (var orderIds in Ids)
                {
                    var orders = (from orderInf in _accountingService.GetPaymentOrders(query)
                                  where orderInf.Id.ToString() == orderIds.ToString()
                                  select new
                                  {
                                      vendorCompanyId = orderInf.CompanyId,
                                      vendorCompanyName = orderInf.VendorCompany.Name,
                                      vendorCompanyIBAN = "orderInf.VendorCompany.IBAN",
                                      price = orderInf.TotalAmount,
                                      socialFacilityName = orderInf.Expenses.Select(x => x.Order.SocialFacility.Name),
                                      socialFacilityId = orderInf.Expenses.Select(x => x.Order.SocialFacility.Id),
                                  });
                }


    • Düzenleyen AkifB 1 Ağustos 2016 Pazartesi 13:28
    1 Ağustos 2016 Pazartesi 12:52

Yanıtlar

  • Bu ToString() niye gerekiyor ki? Gerekmemesi lazim:

    var orders = (from orderInf in _accountingService.GetPaymentOrders(query)
    			  where Ids.Contains(orderInf.Id)
    			  select new
    			  {
    				  vendorCompanyId = orderInf.CompanyId,
    				  vendorCompanyName = orderInf.VendorCompany.Name,
    				  vendorCompanyIBAN = "orderInf.VendorCompany.IBAN",
    				  price = orderInf.TotalAmount,
    				  socialFacilityName = orderInf.Expenses.Select(x => x.Order.SocialFacility.Name),
    				  socialFacilityId = orderInf.Expenses.Select(x => x.Order.SocialFacility.Id),
    			  });
    Not: Bu arada, ortada SQL cumlesi filan yok, bu kullandigin LINQ.



    1 Ağustos 2016 Pazartesi 13:15
    Yanıtlayıcı

Tüm Yanıtlar

  • Bu ToString() niye gerekiyor ki? Gerekmemesi lazim:

    var orders = (from orderInf in _accountingService.GetPaymentOrders(query)
    			  where Ids.Contains(orderInf.Id)
    			  select new
    			  {
    				  vendorCompanyId = orderInf.CompanyId,
    				  vendorCompanyName = orderInf.VendorCompany.Name,
    				  vendorCompanyIBAN = "orderInf.VendorCompany.IBAN",
    				  price = orderInf.TotalAmount,
    				  socialFacilityName = orderInf.Expenses.Select(x => x.Order.SocialFacility.Name),
    				  socialFacilityId = orderInf.Expenses.Select(x => x.Order.SocialFacility.Id),
    			  });
    Not: Bu arada, ortada SQL cumlesi filan yok, bu kullandigin LINQ.



    1 Ağustos 2016 Pazartesi 13:15
    Yanıtlayıcı
  • Haklısınız yanlış ifade ettim, şimdi düzelttim başlığı. toString içinde hata alıyordum sanırım yanlış eşleştirme yaptığım için oldu. Yardımınız için teşekkür ederim contains tam olarak işimi gördü çok sağolun.
    1 Ağustos 2016 Pazartesi 13:30