Dlaczego ta instrukcja łączenia LINQ nie działa?

Mam to zapytanie 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();

Który generuje ten błąd:

Nie można utworzyć stałej wartości typu „System.Collections.Generic.IEnumerable`1”.
W tym kontekście obsługiwane są tylko typy pierwotne („takie jak Int32, String i Guid”).

[EDYTOWAĆ] Oto kodWeightedItem:

public class WeightedItem
{
    public int _id;
    public decimal? _score;

    public WeightedItem(int id, decimal? score)
    {
        _id = id;
        _score = score;
    }
}

Czy widzisz, co zrobiłem źle? Kod kompiluje się doskonale, a oba _ctx.Items i itemScores zawierają odpowiednie wartości.

questionAnswers(3)

yourAnswerToTheQuestion