无法弄清楚这个复杂的查询

时间:2016-11-16 20:35:35

标签: asp.net-mvc entity-framework

我有三张桌子,我无法深入了解这张桌子。

所以我获得了车辆的ID,我需要编写一个查询来输出其座位行列表。

Vehicle
{
id,
vehicleTypeId,
color
}
VehicleType
{
id,
type,
}
VehicleSeats
{
id,
description
}

这是我的查询得到的结果,我只是完全失去了让这一个正确。我需要它输出一个座位列表,而不是类型列表,我只是不知道如何更深入。

var vehicleSeatsList = (from c in db.Vehicle
                                where c.VehicleTypeID == id
                                select c).ToList();

这是我的最终解决方案。我还没有插上它来知道它是否正确。我是个假人。不知道我为什么不考虑加入......

var VehicleTypeSeats = (from c in db.VehicleTypeSeats
                                join a in db.Vehicles on c.AircraftTypeID equals a.VehicleTypeID
                                where c.VehicleTypeID == id
                                select c).ToList();

2 个答案:

答案 0 :(得分:0)

假设这是在SQL中,您的VehicleSeatsVehicle表之间没有任何关系。您需要添加VehicleSeats.vehicleID或类似的东西。如果你这样做,下面就可以了:

SELECT VehicleSeats.description FROM VehicleSeats, Vehicle WHERE VehicleSeats.vehicleID = Vehicle.id AND Vehicle.id = {your given vehicle ID};

答案 1 :(得分:0)

只需在其公共列上加入车辆和车辆座位,然后添加where语句。

var VehicleTypeSeats = (from c in db.VehicleTypeSeats
   join a in db.Vehicles on c.AircraftTypeID equals a.VehicleTypeID
   where c.VehicleTypeID == id
   select c).ToList();