我有一個查詢選擇某個值。該代碼是:在開關櫃中添加Linq條件值
var query = from c in snd.external_invoices.OrderByDescending(x => x.date)
join o in snd.invoices on c.idexternal_invoices equals o.id_external_invoice
select new
{
c.idexternal_invoices,
c.businessname,
o.number,
c.message,
c.price,
c.date,
c.tipologiaPagamento,
c.esitoPagamento,
c.iduser
};
現在我需要選擇基於在該領域c.tipologiaPagamento值這個查詢的一些價值。特別是,我需要選擇所有地方c.date它等於該開關結果值:
switch (c.tipologiaPagamento)
{
case "1":
c.date.AddDays(10);
break;
case "2":
c.date.AddDays(10);
break;
case "3":
DateTime endOfMonth = new DateTime(c.date.Year,
c.date.Month,
DateTime.DaysInMonth(c.date.Year,
c.date.Month));
c.date = endOfMonth;
break;
case "4":
DateTime nextMonth = c.date.AddMonths(1);
DateTime endOfNextMonth = new DateTime(c.date.Year,
c.date.Month,
DateTime.DaysInMonth(c.date.Year,
c.date.Month));
c.date = endOfNextMonth;
break;
default:
break;
}
所以我需要在查詢中選擇其中c.date等於該開關的結果值。
我該怎麼做?
感謝所有
唯一的問題是匿名類型是不可變的,因此無法進行更新。 –
是的,這是正確的,您需要爲數據創建一個類型來執行此操作。謝謝@IvanStoev –