2016-08-01 57 views
-2

SQL查詢我使用的波紋管SQL來獲取可用的房間:除了Linq中

select rooms.number 
from rooms 

EXCEPT 

(SELECT rooms.number 
FROM dbo.Bookings 
INNER JOIN dbo.Rooms ON Extent1.RoomId = dbo.Rooms.Id 
WHERE 
    (Bookings.StartDate <= '2014-12-01') 
    AND (Bookings.EndDate >= '2016-12-05') 
) 

能否請你幫我把它轉換到LINQ? (如「變種名單從A =以dB爲單位......」提前

感謝

+0

問題太普通 – nettle

回答

0

試試這個:

var start = DateTime.ParseExact("20141201", 
          "yyyyMMdd", 
          CultureInfo.InvariantCulture); 
var end = DateTime.ParseExact("20141205", 
          "yyyyMMdd", 
          CultureInfo.InvariantCulture); 

var list = dbContext.Rooms 
    .Except(dbContext.Bookings 
     .Where(e => e.StartDate >= start) 
     .Where(e => e.EndDate <= end) 
     .Select(e => e.Room)) 
    .SELECT(e => e.Number) 
    .ToList(); 
+0

嗨穆罕默德·阿克巴里謝謝蘇多!。 – Panchin

+0

我的榮幸,如果我的回答是好的,請直接回答。 –