JSON字符串我有一個名爲學年業務對象,它具有目前一個標誌枚舉:店JSON數組作爲數據庫
[Flags]
public enum VisibleDayOfWeek : int
{
None = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 4,
Thursday = 8,
Friday = 16,
Saturday = 32,
Sunday = 64
}
對我來說這是值對象沒有標識,他們沒有得到一個額外的SQL表。這也將是矯枉過正。
現在我想將這些可見的日子(用戶可以配置)保存爲數據庫中的int值。它目前正在運行,但在數據庫中讀取/寫入數據,並將這些值讀取/寫入業務對象,並且使用該對象進行集成測試是一件痛苦的事情。
由於我有一個javascript客戶端使用json數據,我今天早上爲什麼不把我從瀏覽器中直接獲取的json數據保存爲數據庫中的json字符串。所以我唯一需要做的就是在客戶端使用json.parse。並且要在服務器端進行集成測試,我使用json庫中現有的json.serialize/deserialize方法。
可見的日子在一年中只改變了1,2或3次。每個用戶每5年有5個學年的數據通道可能不會更多。可見的日子列永遠不會通過sql select查詢。 UI邏輯在客戶端完成。
因此,對我來說,將json數組作爲json字符串存儲在sql數據庫中是個好主意。
您對我的新方法有何看法?你有沒有看到我沒有想過的任何負面影響,我可以稍後再次悔改..?
SQL本身不支持JSON,因此您無法直接對您的JSON數據運行查詢。另一方面,SQL Server支持基於XML和XML的查詢。因此,您可能需要考慮存儲將JSON轉換爲XML以進行存儲。 – wdosanjos
你讀過我的全部問題嗎,還是剛讀完標題?引用:「...可見天數列永遠不會通過sql查詢select」 – Elisabeth
如果有保證永遠不需要查詢該數據,那麼只需將JSON存儲在varchar/nvarchar列中。但是,我建議通過存儲XML來讓您的解決方案對未來的需求/增強更加開放。 – wdosanjos