2012-01-14 98 views
-3

我想比較兩個不同的表格。這兩個表格都包括數據類型Time的出發和到達時間,例如08:30:00。我想比較這些表的出發時間和到達時間的延誤。除了LINQ,我還在玩弄,但似乎沒有任何工作。我正在使用asp.net mvc 3.比較兩個表格的差異

讓我更具體。總共有4張列車,列車編號爲TrainID,車站編號爲StationName,列車編號爲ScheduleID,列車編號,車站編號,到達時間和出發時間,以及用RegistrationID,TrainID,StationID,ArrivalTime和DepartureTime註冊。 TrainID和StationID是計劃表和註冊表中的外鍵,但表之間沒有關聯計劃和註冊。

計劃表是隻讀的。

所以我只想知道每次在註冊表中有一個延遲與Schedule表相比,所以我可以做一些統計延遲。

+0

發表一些代碼。 – 2012-01-14 18:25:30

+1

對我來說似乎沒有涉及到MVC3。 – Mathias 2012-01-14 19:56:50

+0

使用當前的數據模型,除了TrainId和StationId之外,您無法將計劃表和註冊表相關聯 - 該組合可能無法唯一標識計劃,因此無法將1:1映射到這兩個表。 – BrokenGlass 2012-01-14 20:01:36

回答

1

沒有您的具體數據模型只能推測,但它看起來像你需要基於一個公共ID的兩個表之間的連接。比如說你對航班的到達和離開以及他們的延誤很感興趣,那麼你可以計算出每個航班的延誤,即類似這樣的:

var delaysByFlight = from flight in db.ScheduledFlights 
        join record in db.RegisteredTimes 
        on flight.Id equals record.FlightId 
        select new 
        { 
         FlightId = flight.Id, 
         Delay = record.RealArrivalTime - flight.ScheduledArrivalTime 
        }; 
+0

怎麼做你涉及這兩個表?第二個表中的RegistrationID是Schedule表的外鍵? – BrokenGlass 2012-01-14 19:20:49