[C#] 如果其他在LINQ中


Answers

我從db中假設這是LINQ到SQL /實體框架/類似(不是LINQ到對象);

通常情況下,你使用條件語法(a?b:c)做得更好 - 但是,我不知道它是否適用於你這樣的不同查詢(畢竟,你將如何編寫TSQL?)。

可以做一個簡單的例子:

select new {p.PriceID, Type = p.Price > 0 ? "debit" : "credit" };

你可以做更多更豐富的事情,但我真的懷疑你可以在條件選擇 。 當然,歡迎您嘗試

Question

是否有可能在LINQ查詢中使用If Else條件?

就像是

from p in db.products
if p.price>0
select new
{
  Owner=from q in db.Users
        select q.Name
}
else
select new
{
   Owner = from r in db.ExternalUsers
            select r.Name
}



你應該像這樣改變:

private string getValue(float price)
{
    if(price >0)
        return "debit";
    return "credit";
}

//Get value like this
select new {p.PriceID, Type = getValue(p.Price)};