Gra*_*ton 39 c# linq linq-to-sql
是否可以在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
}
Ric*_*ett 61
这可能有用......
from p in db.products
    select new
    {
        Owner = (p.price > 0 ?
            from q in db.Users select q.Name :
            from r in db.ExternalUsers select r.Name)
    }
我假设db这是LINQ-to-SQL/Entity Framework /类似(不是LINQ-to-Objects);
一般来说,你使用条件语法(a?b:c)做得更好 - 但是,我不知道它是否适用于你的不同查询(毕竟,你如何编写TSQL?).
对于你可以做的事情类型的简单例子:
select new {p.PriceID, Type = p.Price > 0 ? "debit" : "credit" };
你可以做更多更丰富的事情,但我真的怀疑你可以选择有条件的表格.当然,欢迎你试试......
| 归档时间: | 
 | 
| 查看次数: | 116051 次 | 
| 最近记录: |