Estoy tratando de cargar con entusiasmo todas las entidades relacionadas o colección de Entity en una sola llamada. Mis Entidades ve así:Cargando entidades anidadas/colecciones con Entity Framework
Class Person
{
public virtual long Id { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
}
Class Employee
{
public virtual long Id { get; set; }
public DateTime AppointmentDate { get; set; }
public virtual ICollection<EmployeeTitle> Titles { get; set; }
public virtual Person Person { get; set; }
}
Class EmployeeTitle
{
public virtual long Id { get; set; }
public virtual bool IsCurrent { get; set; }
public virtual Title Title { get; set; }
}
Class Title
{
public virtual long Id { get; set; }
public virtual string Code { get; set; }
public virtual string Description { get; set; }
}
Lo Iam tratando de hacer es que si yo llamo un método para cargar todos los empleados, el resultado debería incluir persona, Lista de EmployeeTitles incluyendo el código y la descripción del título he podido para llegar al tercer nivel, es decir, obtener el empleado con la persona y la lista de EmployeeTitle. No sé cómo obtener la información del título con EmployeeTitle. Mi código para conseguir esto es:
Context.Employees.Include("Person").Include(e => e.Titles).ToList();
Por favor, arrojar algo de luz sobre la manera de lograr esto. Gracias por adelantado.
Perfecto :) Muchas gracias. – Amit
IMPORTANTE: no utilice accidentalmente la misma variable para ambas expresiones lambda '.Include (x => x.Titles.Select (x => x.Title))' o obtendrá 'No se puede convertir la expresión lambda para escribir ' cadena 'porque no es un tipo de delegado' –
Debe tener "using System.Data.Entity", de lo contrario aparecerá ya que esta sobrecarga no existe. –