2016-08-01 9 views
-2

ich die unten sql bin mit freiem Zimmer zu bekommen:Außer SQL-Abfrage in 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') 
) 

Könnten Sie mir bitte helfen, es zu Linq zu konvertieren? (Wie "var Liste von a in db = ...."

Vielen Dank im Voraus

+0

Frage ist zu allgemein – nettle

Antwort

0

versuchen Sie dies:

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

Hallo Mohammad Akbari Dank su much !!.. – Panchin

+0

Es ist mir ein Vergnügen, wenn meine Antwort ist in Ordnung, PLZ Tick Antwort. –