通过Entity Framework 6中另一个表中的外键获取记录

Mic*_*ard 4 c# linq sql-server entity-framework entity-framework-6

我需要将所有座位都附加到特定的预订中.

我有这些课程:

public class Seat
{
    public Guid Id { get; set; }
    public string RowNumber { get; set; }
    public int SeatNumber { get; set; }
}

public class ReservationSeat
{
    public Guid Id { get; set; }
    public Guid ReservationId { get; set; }
    public Guid SeatId { get; set; }

    public Reservation Reservation { get; set; }
    public Seat Seat { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我试过这个linq到实体声明,但没有运气.它似乎从座位表返回所有座位.

public static List<Seat> GetSeatsForReservation(Guid reservationId)
{
    using (var db = new EntityContext())
    {
        return db.Seats.Where(s => db.ReservationSeat
                                     .Select(rs => rs.ReservationId)
                                     .Contains(reservationId)).ToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

Aim*_*nox 5

尝试:

public static List<Seat> GetSeatsForReservation(Guid reservationId)
    {
        var db= new  EntityContext();
        return (from s in db.ReservationSeat
                where s.ReservationID==Guid
                select s.seat).ToList();
    }
Run Code Online (Sandbox Code Playgroud)