Saltar al contenido

No se puede convertir la expresión lambda al tipo ‘string’ porque no es un tipo de delegado

Hola usuario de nuestro sitio, tenemos la solución a tu interrogante, deslízate y la encontrarás aquí.

Solución:

Bueno, la publicación es bastante antigua, pero solo respondo aquí para actualizarla. Bueno el Include() método con Entidad Framework 4.1 tiene métodos de extensión y también acepta una expresión lambda. Asi que

context.CustomerSites.Include(c => c.Customer);

es perfectamente válido, todo lo que necesitas hacer es usar esto:

using System.Data.Entity;

Incluir es un método de extensión en el espacio de nombres System.Data.Entity, debe agregar:

using System.Data.Entity;

Entonces puedes usar la expresión lambda, en lugar de la string.

los Include método espera un stringno una lambda:

public ViewResult List()

    var sites = context.CustomerSites.Include("Customer");
    return View(sites.ToList());

Por supuesto, podría escribir un método de extensión personalizado que funcione con expresiones lambda y haga que su código sea independiente de algunas cadenas mágicas y sea más fácil de refactorizar.

Pero haga lo que haga, POR FAVOR, OH, POR FAVOR, no pase objetos generados automáticamente por EF a sus vistas. USAR MODELOS DE VISTA.

Si posees alguna perplejidad o disposición de renovar nuestro escrito te recomendamos dejar un exégesis y con mucho placer lo observaremos.

¡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 *