Estoy construyendo una página que muestra un resultado de consulta LINQ como una tabla.No se puede convertir la expresión lambda para escribir 'cadena' porque no es un tipo de delegado
- Configure la consulta base en el método 'SetupArticleQuery()' que guarda la consulta en 'this.articles'.
- Ejecute otro método, 'UpdateFilter()' para filtrar los resultados que se guardan en 'this.articles'.
me sale el error
No se puede convertir la expresión lambda al tipo 'cadena' porque no es un tipo de delegado
en la línea con el código
this.articles = from art in this.articles
where art.category_id == this.categoryId
select art;
¿Alguna idea de cómo corregir el código a continuación?
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;
}
}
}
Tuve el mismo problema porque simplemente me faltaba el uso de System.Linq; – markmnl