[C#] 如果在LINQ中有其他



Answers

我假設從db ,這是LINQ-to-SQL / Entity Framework /類似(不是LINQ-to-Objects);

一般來說,使用條件語法(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)};



Links