Ciao potrei sapere come fare una condizione di "caso" in uso con linq? Il codice commentato è la mia domanda. come faccio a mettere la condizione lì? il mio codice:linq join con condizione condizione
var r = from u in Users
join p in Payments on u.Id equals p.UserId
join soi in SaleOrderItems on p.ReferenceId equals soi.Id
//if soi.InventoryTypeId == 1
//then join i in Inventories on soi.InventoryOrCourseId equals i.Id
//elseif soi.InventorytypeId ==2
//then join c in Courses on soi.InventoryOrCourseId equals c.Id
where u.Id == 5
select new{ u, p, soi, either i or c};
@mmix ciao ho ricevuto questo errore "Il tipo di una delle espressioni nella clausola join non è corretto. Tipo di inferenza non riuscita nella chiamata a 'GroupJoin'." alla riga unire i in Inventories su new {a ... – VeecoTech
Che tipo è 'soi.InventoryTypeId'? Dal momento che immagino 'type (soi.InventoryOrCourseId)' equals 'type (Inventory.Id)' allora deve essere che 'soi.InventoryTypeId' non è' int'. Se è così, decorare le costanti 1 e 2 con un suffisso di tipo corretto (U, L, ecc.) – mmix
@mmix: sì entrambi sono esattamente int – VeecoTech