Reputation: 5905
I have a LINQ query (using with EF)
I have the following LINQ query. Kindly guide me how I can use case or if statement in this query.
var selectedResults=
from InvoiceSet in Invoices
join BookedAreasSet in BookedAreas
on InvoiceSet.InvoiceID equals BookedAreasSet.InvoiceID
join AreaSet in Areas on BookedAreasSet.AreaID equals AreaSet.AreaID
select new
{
InvoiceSet.InvoiceNumber,
InvoiceSet.Amount,
InvoiceSet.TotalDiscount,
InvoiceSet.GST,
InvoiceSet.PaymentDate,
InvoiceSet.ShoppingCentreID,
BookedAreasSet.BookedAreaID,
AreaSet.Name //Here I want to use Case/ If statment based on some other column
};
Please guide.
Thanks
Upvotes: 0
Views: 169
Reputation: 148140
You can do it like this but using ternary operator ?
var selectedResults=
from InvoiceSet in Invoices
join BookedAreasSet in BookedAreas
on InvoiceSet.InvoiceID equals BookedAreasSet.InvoiceID
join AreaSet in Areas on BookedAreasSet.AreaID equals AreaSet.AreaID
select new {InvoiceSet.InvoiceNumber,InvoiceSet.Amount,InvoiceSet.TotalDiscount,InvoiceSet.GST, InvoiceSet.PaymentDate,InvoiceSet.ShoppingCentreID,BookedAreasSet.BookedAreaID,
AreaSet.Name, YourColumn = AreaSet.YourColumnName == yourVariable ? "firstResult" : "other result?"}
You can combine multiple conditions this way.
AreaSet.YourColumnName == yourVariable ? "firstResult" : AreaSet.YourColumnName == YoursecondVariable ? "Some result" : "Some other result"
Upvotes: 5