2016-09-28 71 views
1

我正在做一個簡單的快遞跟蹤項目,其中有兩個表,名爲TrackingStatusParcelTracking如何在不覆蓋以前使用休眠數據的情況下爲特定列插入新行

ParcelTracking表具有Tracking_ID作爲主鍵和TrackingStatus_ID作爲外鍵是TrackingStatus表的主鍵。

每次快遞員狀態發生變化時,我想添加新的TrackingStatus_ID,這樣我就可以檢索到特定的Tracking_ID的所有以前的狀態。

我該如何做到這一點?

+0

你可以使用正常的更新API嗎? –

+0

哪個API應該使用Amer先生? – Rohit

+0

簡單檢索要更新的對象,然後關閉會話deattach(不nessecary如果沒有大量的處理正在發生的事情),然後使用session.SaveOrUpdate(deattachedObject) –

回答

0

從我所瞭解的情況來看,這不是「更新」問題,而是更多的模式和模型佈局問題。你會讓你的專欄看起來有點混亂。

憑什麼你在好像你的問題說,這樣做是:

| TrakingStatus |  | ParcelTracking | 
|---------------|  |------------------| 
| Id   |  | TrackingId  | 
| ...   |--------| TrackingStatusId | 
|    |  | ...    | 

那麼好像是,如果快遞的變化,那麼你要添加一個新的TrackingStatusId我估計是你想在TrackingStatus表中創建一個新記錄,然後在ParcelTracking表中引用該記錄。你應該在這裏使用一個OneToMany關係與另一個表,可讓您引用的行中TrackingStatus單個包裹在ParcelTracking,你就會有這樣的:

| TrakingStatus |   | ParcelStatuses |    | ParcelTracking | 
|---------------|   |-----------------|    |------------------| 
| Id   | -------- | TrackingId  | *-----------1| TrackingId  | 
| ...   |   | TrackingStatusId|    | ...    | 

這樣,當快遞變化,你不要不需要覆蓋現有的TrackingStatusId值,您可以簡單地創建另一條記錄並將其與同一個ParcelTracking對象鏈接。

+0

在這個項目中我想添加新的狀態,如果快遞的變化,而比更新狀態....我堅持了約2天的這個問題。你可以在這個問題上建議我 – Rohit

相關問題