![](/img/trans.png)
[英]Database computed property that is a foreign key in Entity Framework 6
[英]Entity Framework / Database - Archiving Foreign Key Records
我已經為具有以下關系的客戶開發了一個應用程序:
SalesOrder與客戶具有外鍵關系(一對一)。
客戶現在希望能夠刪除客戶,以便它們不會用於任何未來(新)SalesOrders,但顯然我想保留報告的歷史記錄等。同樣,記錄可能需要更新 - 在極少數情況下將來可用,因此在“編輯”模式下,客戶需要在那里(但所有其他已刪除的客戶都不會)
我正在尋找模型的輸入來模擬這個或更好的建議。 我的想法是在客戶上有一個“存檔”位,但我的問題是,如果有人加載舊的SalesOrder,我還需要加載客戶填充的DropDownList的存檔記錄。
由於我正在使用Entity Framework和EntityDataSource,我的猜測是我也可能在DropDownList的SelectedValue綁定上獲得運行時異常,但我還沒有驗證這一點。
有關從哪里開始的任何想法或建議?
謝謝。
我相信我有一個解決方案。 我一整天都在絞盡腦汁,但我覺得這很容易。 在快速原型中,它看起來像我需要的那樣:
我在Customers表中添加了一個“Archived”位(實際上是它們繼承的BusinessEntity表)。 然后,對於“編輯銷售訂單”頁面,在查詢客戶時,我有一個where子句,其中包含按ID分類的客戶。
例如(偽代碼): SELECT CustomerID,Name FROM Customers WHERE Archived = 0 OR CustomerID = 52
這將所有活躍的客戶和一個客戶拉到我需要的記錄中。 這允許客戶仍然鏈接到記錄以進行編輯,並且不會使用DropDownList綁定生成運行時異常。
對於報告,我假設我不會根據Archived位進行過濾,因為無論如何它都是只讀的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.