Saltar al contenido

No se puede convertir implícitamente un tipo ‘System.Linq.IQueryable’ en ‘Microsoft.EntityFrameworkCore.Query.IIincludableQueryable’

Contamos con el arreglo a este inconveniente, al menos eso creemos. Si tienes inquietudes deja tu comentario, que sin tardanza

Solución:

Me encontré con el mismo problema. Incluir produce un nuevo nivel de abstracción en la parte superior de IQueryable, llamado IIncludableQueryable. Su var blogging02Context se convierte en IIncludeQueryable, que no se puede asignar directamente desde su instrucción Where.

Declare su variable blogging02Context como IQueryable en lugar de var. Ayudó en mi caso.

        IQueryable blogging02Context = _context.Tag.Include(t => t.Blog);

        if (!string.IsNullOrEmpty(Urlid.ToString()))
        
            blogging02Context = blogging02Context.Where(t => t.Urlid == Urlid);
        

El error de tiempo de compilación es correcto ya que en la primera línea ha definido el var blogging02Context para _context.Tag.Include(....; Esta Include el método devuelve Microsoft.EntityFrameworkCore.Query.IIncludableQueryable escribe. Más tarde, estás agregando where cláusula sobre el blogging02Context que regresa System.Linq.IQueryable.

Puede actualizar el código con lo siguiente:

Sin embargoOtro punto Urlid Se define como int entonces esta declaración if (!string.IsNullOrEmpty(Urlid.ToString())) nunca sera false; como valor predeterminado de int sería 0. y 0.ToString() será “0”.

    public async Task Index(int id, 
    [Bind("Urlid,Userid,UrlStr,Title")] Url blog, int Urlid)
    
        var blogging02Context = _context.Tag.Include(t => t.Blog).Where(t => t.Urlid == Urlid));

        ViewBag.Urlid = Urlid;
        return View(await blogging02Context.ToListAsync());
    

Comentarios y puntuaciones del artículo

Nos puedes añadir valor a nuestro contenido tributando tu experiencia en las crónicas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *