everyone!我正在嘗試做一個相當簡單的LINQ查詢來查找酒店中的可用房間。 (也就是說,從房間池中找到可用房間,並檢查房間內是否有待處理的清潔等)。不支持本地收藏的查詢LINQ
但是當我嘗試執行第三個查詢時,我得到了在標題中看到的異常。當我執行它時,我實際上沒有得到異常,但是當我嘗試使用「unfinishedTasksInPool」變量時。
我試着將「unfinishedTasksInPool」轉換成列表,看看是否有幫助,但是每當我嘗試使用「unfinishedTasksInPool」,我都會得到異常。
編輯:每當我在第三個查詢在where子句中排除「availableRoomsFromPool.Contains(tasks.roomId」,一切似乎都正常工作,但是,這並不完全解決問題壽
var pendingReservation = database.Reservations.Where(res => res.reservationID == resId).First();
var reservationsInSameGroup = from otherReservations in database.GetTable<Reservation>()
where (otherReservations.beds == pendingReservation.beds
&& otherReservations.rank == pendingReservation.rank
&& otherReservations.roomID != null)
select otherReservations.roomID;
var availableRoomsFromPool = from rooms in database.GetTable<Room>()
where (!reservationsInSameGroup.Contains(rooms.roomId)
&& rooms.beds == pendingReservation.beds
&& rooms.roomRank == pendingReservation.rank)
select rooms.roomId;
var unfinishedTasksInPool = from tasks in database.GetTable<HotelTask>()
where (availableRoomsFromPool.Contains(tasks.roomId)
&& tasks.taskStatus < 2)
select tasks.roomId;
可能的重複:http://stackoverflow.com/questions/1084339/working-around-linqtosqls-queries-with-local-collections-are-not-supported-exc – dugas
我編輯了我的問題。我已經嘗試將其轉換爲列表。 – user1784297
什麼是'pendingReservation.beds'? –