Search code examples
c#linqlinq-to-sql

If Else in LINQ


Is it possible to use If Else conditional in a LINQ query?

Something like

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
}

Solution

  • This might work...

    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)
        }