Bu yöntem, genel liste döndürür, ancak seçilmesi için birden çok koşulu vardır. Sadece şunu kullanarak yazabilirim eğer - else eğer -else eğer .... çok fazla varsa ben Bunu yapmak için daha kısa bir yol var mı? Teşekkür ederim. yapabilirsinizLinq, çok koşullu yan tümce tümcelerini içeren
public List<ProductReqNoDate> GetRequestsQuery(string departmant, int reqStateID, string firstDate, string lastDate)
{
var db = new requestsDBEntities();
var listPrn = new List<ProductReqNoDate>();
if (!string.IsNullOrEmpty(departmant))
{
return (from r in db.requests
where r.departmant== departmant
select new ProductReqNoDate
{
departmant= r.departmant,
reqNo = r.reqNo ,
reqDate = r.reqDate ,
prdctName= stringCutter((from p in db.products where p.reqNo == r.reqNo select p.prdctName).FirstOrDefault())
}).ToList();
}
if (!string.IsNullOrEmpty(firstDate) && !string.IsNullOrEmpty(lastDate))
{
DateTime dtfirstDate = Convert.ToDateTime(firstDate);
DateTime dtlastDate = Convert.ToDateTime(lastDate);
return (from r in db.requests
where r.reqDate <= dtlastDate && r.reqDate >= dtfirstDate
select new ProductReqNoDate
{
departmant= r.departmant,
reqNo = r.reqNo ,
reqDate = r.reqDate,
prdctName= stringCutter((from p in db.products where p.reqNo == r.reqNo select p.prdctName).FirstOrDefault())
}).ToList();
}
}
Sonuçlara ilk eriştiğinizde linq yürütüldüğü için, ilk 'birinden' '/ where' 'i bir var olana ve sonra ifs'in dışına koyabilirsiniz, yeni sorguyu alınan sonuç kümesine kullanın. – Aphelion