Impossible de convertir l'expression lambda de type 'string', car il n'est pas un type délégué

Je suis en train de construire une page qui affiche une requête LINQ résultat sous forme de tableau.

  1. Installation de la requête de base de la "SetupArticleQuery () méthode qui enregistre la requête" ce.articles".
  2. Exécuter une autre méthode, 'UpdateFilter()' pour effectuer un filtrage sur les résultats qui sont enregistrés dans les " ce.articles".

Je reçois le message d'erreur

Ne peut pas convertir expression lambda de type 'string', car il n'est pas un type délégué

à la ligne avec le code

this.articles = from art in this.articles
                where art.category_id == this.categoryId
                select art;

Toutes les idées sur la façon de corriger le code ci-dessous?

namespace WebApplication3 {
    public partial class _Default : System.Web.UI.Page {
        private IQueryable articles;

        protected void Page_Load(object sender, EventArgs e) {
            this.SetupArticleQuery();
            this.UpdateFilter();
        }

        private void SetupArticleQuery() {
            this.articles = from a in KB.Articles
                            join t in KB.Teams on a.primary_team_id equals t.id
                            join cat in KB.Categories on a.category_id equals cat.id
                            join scat in KB.SubCategories on a.subcategory_id equals scat.id
                            join top in KB.Topics on a.topic_id equals top.id
                            select new {
                                a.id,
                                a.title,
                                a.view_count,
                                a.created_at,
                                a.created_by,
                                a.primary_team_id,
                                primary_team_name = t.name,
                                category_id = cat.id,
                                category_name = cat.name,
                                subcategory_id = scat.id,
                                subcategory_name = scat.name,
                                topic_id = top.id,
                                topic_name = top.name
                            };
        }

        private void UpdateFilter() {
            if (this.categoryId > 0) {
                this.articles = from art in this.articles
                                where art.category_id == this.categoryId
                                select art;

            }
        }
}
J'ai eu le même problème parce que j'ai été tout simplement manquantes à l'aide de mon Système.Linq;

OriginalL'auteur Damiro | 2011-03-31