在LINQ中使用Case或if语句?

use*_*510 0 c# linq entity-framework

我有一个LINQ查询(与EF一起使用)

我有以下LINQ查询.请指导我如何在此查询中使用case或if语句.

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
    };
Run Code Online (Sandbox Code Playgroud)

请指导.

谢谢

Adi*_*dil 5

你可以这样做,但使用三元运算符 ?

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?"}
Run Code Online (Sandbox Code Playgroud)

您可以通过这种方式组合多个条件.

AreaSet.YourColumnName == yourVariable?"firstResult":AreaSet.YourColumnName == YoursecondVariable?"一些结果":"其他一些结果"