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.