Tengo un objeto CLR simple y antiguo que es esencialmente un contenedor para dos objetos de marco de entidad, estoy haciendo esto para poder pasar este objeto contenedor a una vista fuertemente tipada en el marco MVC . Mi clase foo envoltorio es muy simple:Inicializando objetos fuertemente tipados en LINQ a Entidades
public class FooWrapper
{
public FooWrapper(Foo f, Bar b)
{
this.FooObject = f;
this.BarObject = b;
}
public Foo FooObject { get; private set; }
public Bar BarObject { get; private set; }
}
Lo que tengo hasta ahora para mi función ListFoosWithBars es el siguiente:
public IEnumerable<FooWrapper> ListFoosWithBars(int userID)
{
IEnumerable<Bar> tempBar = ListBarsByUserID(userID);
IEnumerable<FooWrapper> results = (from f in _entities.FooSet
join b in tempBar on f.ID equals b.foos.ID
select new FooWrapper(f, b));
return results;
}
Esto no funciona porque evidentemente LINQ a Entidades no soporta parametrizada inicialización, se lanza una excepción que dice simplemente eso: "Sólo los constructores y los inicializadores sin parámetros son compatibles con LINQ para Entidades". Me preguntaba si hay otra forma de lograr el mismo resultado.
Tenía lo mismo escrito, usted gana. – AdamSane
Perfecto, gracias! –