Por que essa instrução de junção LINQ não funciona?
Eu tenho essa consulta LINQ:
// types...
LinkedList<WeightedItem> itemScores = new LinkedList<WeightedItem>();
var result = from i in _ctx.Items
join s in itemScores on i.Id equals s._id
orderby s._score descending
select new ItemSearchResult(i, s._score);
// this fails:
return result.ToList();
Qual está gerando este erro:
Não é possível criar um valor constante do tipo 'System.Collections.Generic.IEnumerable`1'.
Apenas tipos primitivos ('como Int32, String e Guid') são suportados neste contexto.
[EDITAR] Aqui está o código deWeightedItem
:
public class WeightedItem
{
public int _id;
public decimal? _score;
public WeightedItem(int id, decimal? score)
{
_id = id;
_score = score;
}
}
Você consegue ver o que eu fiz de errado? O código compila perfeitamente e ambos os _ctx.Items e itemScores contêm valores apropriados.