【发布时间】:2018-05-11 02:28:59
【问题描述】:
使用 linq,我如何从 Room 对象列表中选择所有 Room 对象,在 Booking 模型中不存在 Booking 对象(可以通过外键检查)?
这是对象列表:
var rooms = (from m in db.Rooms
where
m.FK_HotelID == id
select m).ToList();
这是第一个名为 Room 的模型:
public partial class Room
{
public Room()
{
Bookings = new HashSet<Booking>();
}
public int RoomID { get; set; }
public int RoomNumber { get; set; }
public string RoomType { get; set; }
// Foreign Key
public int? FK_HotelID { get; set; }
public virtual ICollection<Booking> Bookings { get; set; }
// Navigation Property
public virtual Hotel Hotel { get; set; }
}
还有一个名为 Booking 的模型:
public partial class Booking
{
public int BookingID { get; set; }
public string BookingName { get; set; }
public string BookingContact { get; set; }
public DateTime BookingTime { get; set; }
public string BookingStatus { get; set; }
// Foreign Key
public int? FK_RoomID { get; set; }
// Navigation Property
public virtual Room Room { get; set; }
}
我是 linq 的初学者,到目前为止我所能理解的只是如何从单个模型中进行选择,尽管我可以使用带有左连接的 SQL 查询轻松获得结果。
P.S:我首先创建了数据库,并使用 ADO.NET 实体数据模型向导和数据库中的代码优先生成了模型。只要我明白原因,我也不介意对数据库或模型进行任何小的更改。
【问题讨论】:
标签: c# linq asp.net-mvc-5 entity-framework-6 ado.net-entity-data-model