我想先使用EF代碼來處理當前使用普通舊ADO.NET和存儲過程訪問的數據庫。EF代碼優先 - 地圖詞典或自定義類型作爲nvarchar
在我的數據庫中,我有一些nvarchar(MAX)
列,應該映射到Dictionary<string, string>
或從Dictionary<string, string>
映射。
保存到數據庫時,它是一個XML格式的字符串。我使用這種技術來實現例如國際化。網上商店中產品的名稱。我不知道任何給定用戶想翻譯多少種語言,所以我不能爲每種語言設置Name
列。
我也想避免將值存儲在單獨的表中,所以我最終選擇了Dictionary - XML方法。
我現在這樣做的方式是,只要將任何這些列視爲字符串,只要我與數據庫交互。我有一個自定義映射器函數,可以將XML轉換爲字典,並返回到XML。
但我似乎無法找到一種方法,首先與EF代碼做到這一點?有任何想法嗎?
太棒了!謝謝:) - 我不會想這樣做 – Yablargo
爲什麼XML而不是JSON,最後一個更緊湊,並且在數據庫存儲方面更高效? – Piou
@Piou我不記得五年前我到底在想些什麼,但我想我還是習慣於將XML再用於JSON。我確實假設這個例子也適用於JSON,所以請隨時嘗試。但請記住,過早優化是所有邪惡的根源。 –