Ich mache ein Lambda Select auf EF4.1, einschließlich einer anderen verwandten DBSet in meiner aktuellen Anweisung.
return dbEntity.GameTypes.Include(a => a.Draws)
.Where(d => d.IsActive == true )
.ToList();
Ich habe zwei Klassen:
//simplified versions of the classes
public class GameType
{
public Nullable<bool> IsActive { get; set; }
public virtual ICollection<Draw> Draws { get; set; }
}
public class Draw
{
public int DrawID { get; set; }
public int GameTypeID { get; set; }
public System.DateTime DrawDate { get; set; }
}
Ich möchte aber nur die nächste Ziehung für jeden Spieltyp. Im Wesentlichen möchte ich etwas tun wie
return dbEntity.GameTypes.Include(a => a.Draws.Where(aw => aw.DrawDate > System.DateTime.Now)
.OrderBy(ao => ao.DrawDate)
.First())
.Where(d => d.IsActive == true )
.ToList();
Aber es gibt mir:
Der Ausdruck Include-Pfad muss sich auf eine Navigationseigenschaft beziehen, die für den Typ definiert ist. Verwenden Sie gepunktete Pfade für Referenznavigationseigenschaften und den Select-Operator für Sammlungsnavigationseigenschaften.
Ist so etwas möglich oder müsste ich das Ergebnis nachträglich filtern? Ich würde dann auch gerne das Gesamtergebnis nach dem letzten Draw.DrawDate ordnen. Wenn mir jemand den richtigen Weg zeigen könnte, wäre ich sehr dankbar.