我有一个lotItemIds (lotItemIdList)
的int列表。从BookingItems
开始,我只想选择BookingItems
列表中不存在BookingItemId
的{{1}}个。{/ p>
我写了一个表达式如下:
lotItemIds
但这是选择所有项目,即使这些项目存在于 var Booking = context.Bookings.Include(x => x.BookingItems.Select(y => y.LotItem))
.FirstOrDefault(x => x.BookingId == BookingId
&& x.BookingItems.Any(y => !lotItemIdList.Contains(y.BookingItemId)));
。
答案 0 :(得分:1)
好的,所以你想要预订本身,然后你就在正确的轨道上,尽管你似乎根据你的描述做了一些不必要的事情。这应该有效:
var bookings = context.Bookings
.Where(b => b.BookingItems
.Any(bi => !lotItemIdList.Contains(bi => bi.BookingItemId)));
您的所有预订都在任何一个预订的地方。 BookingItems的Id不在列表中。
答案 1 :(得分:0)
根据您的描述,这就是您想要的:
var bookingItems = context.Bookings.Where(b => !lotItemIdList.Contains(b.BookingItemId));