sto ottenendo questo errore per la query di seguitoImpossibile creare un valore costante di tipo Solo tipi primitivi o tipi di enumerazione sono supportati in questo contesto
Impossibile creare un valore costante di tipo
API.Models.PersonProtocol
. Solo tipi o tipi di enumerazione primitivo sono supportati in questo contesto
ppCombined
sotto è un IEnumerable
oggetto di PersonProtocolType
, che è costruito da concat di 2 PersonProtocol
liste.
Perché questo non funziona? Non possiamo usare la clausola LINQ JOIN
all'interno di di un JOIN
?
var persons = db.Favorites
.Where(x => x.userId == userId)
.Join(db.Person, x => x.personId, y => y.personId, (x, y) =>
new PersonDTO
{
personId = y.personId,
addressId = y.addressId,
favoriteId = x.favoriteId,
personProtocol = (ICollection<PersonProtocol>) ppCombined
.Where(a => a.personId == x.personId)
.Select(b => new PersonProtocol()
{
personProtocolId = b.personProtocolId,
activateDt = b.activateDt,
personId = b.personId
})
});
correlate: [ LINQ, impossibile creare un valore costante di tipo XXX. In questo contesto sono supportati solo tipi primitivi o tipi di enumerazione] (http://stackoverflow.com/q/13405568/456814). –
Correlati: [Impossibile creare un valore costante - solo i tipi primitivi] (http://stackoverflow.com/q/10862491/456814). –