così ho questo codice:tipi Solo primitive o tipi di enumerazione sono supportati in questo contesto
public int saleCount(List<Shift> shifts) {
var query = (
from x in database.ItemSales
where shifts.Any(y => y.ID == x.shiftID)
select x.SalesCount
);
return query.Sum();
}
Purtroppo, è gettando questo errore:
Unable to create a constant value of type 'Shift'.
Only primitive types or enumeration types are supported in this context.
ecco dove mi definisco turno, che è solo un normale Entity Framework Codice Primo oggetto:
[Table("Shifts")]
public class Shift : MPropertyAsStringSettable {
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public int SiteID { get; set; }
public string ShiftID_In_POS { get; set; }
public DateTime ShiftDate { get; set; }
}
Credo che il problema è che sto usando Shift o bject in una query di Linq. E sto facendo un'operazione "Qualsiasi" su una lista di "Shift".
Una possibile soluzione è di modificare l'Elenco in una raccolta o qualcosa del genere, dopotutto, lo sto caricando con una query di linq da qualche altra parte, ma quale sarebbe la firma?
Sì! Ha funzionato bene, stavo per suggerire di cambiare la lista in qualche altro tipo di collezione, ma questo è fantastico. – Bill