我在我的數據庫中有預訂表,其中一列是booking_date_time。如何更新多個記錄的時間部分?例如,如果我有5條記錄的日期不同,我想保留這些日期,但將時間設置爲上午10點。 下面是我正在使用的代碼,但這會爲所有對象設置相同的日期。我希望能避免檢索對象的列表,並通過他們的迭代和更新他們在同一時間.net linq更新時間多個記錄的日期時間的一部分
booking bookingToUpdate = db.bookings.Where(a => a.booking_recurrence_id == bk.booking_recurrence_id).SingleOrDefault();
bookingToUpdate.booking_date_time = bk.booking_date_time;
db.Entry(bookingToUpdate).State = System.Data.Entity.EntityState.Modified;
retVal = db.SaveChanges() > 0;
輸入數據是一個預訂記錄(BK)之一。這包含一個唯一的booking_id。它還包含將多個預訂鏈接在一起的booking_recurrence_id。
說我有以下內容:
booking_id:1 booking_recurrence_id:1 booking_date_time:2016年1月1日08:00
booking_id:2 booking_recurrence_id:1 booking_date_time:2016年2月1日 08:00
booking_id:3 booking_recurrence_id:1個booking_date_time:2016年3月1日08:00
我要與時俱進更新至09:00,所以我期待的結果應該是
booking_id:1 booking_recurrence_id:1 booking_date_time:2016年1月1日 09:00
booking_id:2 booking_recurrence_id:1個booking_date_time:2016年2月1日09:00
booking_id:3 booking_recurrence_id:1 booking_date_time:2016年3月1日09:00
你能更具體,並提供輸入數據和預期的輸出沒有測試? –
[DateTime](https://msdn.microsoft.com/en-us/library/system.datetime%28v=vs.110%29.aspx)包含'AddHours'方法。用它! –