在单个查询中从 Entity Framework 更新和获取记录

Update and fetch a record from Entity Framework in a single query

我正在开发酒店管理系统,我正在尝试进行查询以检查预订时间,如果时间结束,它将关闭预订并 return 一种房型。

关闭预订意味着它会将其状态变为 false 并且它将 return 房间类型现在问题是这个查询:

var Records = db.BookingInformation
                .Where(t => t.EndDate <= serverDate)
                .Where(t => t.Booking == true)
                .Select(t => t.RoomType).ToList();

这是return房型,但不会将预订转为false。有什么帮助吗?

我知道我没有尝试更新预订,但我不知道该怎么做。

试试这个,应该做你要求的:

var records = db.BookingInformation
    .Where(t => t.EndDate <= serverDate)
    .Where(t => t.Booking == true).ToList()
      .Select(t => {t.Booking = false; return t.RoomType;});

执行此操作后调用SaveChanges,否则更改不会持久化到DB。