class Order<T>
{
public Int orderId { get; set; }
public IDictionary<string, T> Details { get; set; }
}
我想Details使用物體框架將其作為位元組陣列存盤在 sql db中
是否可以存盤和檢索它并重建回 Order 物件?
關于如何做到這一點的任何建議?
其他選項是,我可以更改為byte[]并存盤在 db 中,但不確定如何將位元組陣列反序列化回IDictionary<string, T>
uj5u.com熱心網友回復:
您可以使用值轉換將屬性存盤為 JSON 字串(更好)或位元組 [](脆弱、非人類可讀、無法在資料庫中使用)。
uj5u.com熱心網友回復:
要序列化和反序列化您的物件,請查看將任何物件轉換為位元組 []的答案
一旦你有了位元組陣列,你就可以使用 blob 存盤列將它讀寫到資料庫中。
然而,這樣做是極其危險的。資料庫架構中的任何更改都將導致重大更改。這將要求您將每一行讀入外部程式并將其轉換為新格式,因為您將無法使用 SQL 腳本執行遷移。
同樣,出于同樣的原因,也不建議將其存盤為 JSON 或 XML 資料。地獄,根據您的資料,它們甚至可能更糟(從未見過 JSON 檔案能很好地存盤影像)。
如果你能花時間,創建一個映射表并自己構建字典。我不確定 T 是什么,但如果它是另一個資料庫記錄,那么你就設定好了。否則,二進制序列化可能是要走的路。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/327010.html
下一篇:(Selemium/python)selenium.common.exceptions.ElementNotInteractableException:訊息:元素不可互動
