由於缺乏更好的術語,使用「鏈式字符串」構建嵌套類別「系統」的想法。計劃如下:是否將類別嵌套爲「串連」是一個壞主意?
類別slu could可能像「購物 - 服裝 - 女性」。這與深度分類有關:購物>服裝>女裝。
數據庫中的一個對象會有一個包含slug的類別字段。假設有幾個對象,在購物>服裝類別中有不同的slu,,可能是:「shopping-clothing-men」,「shopping-clothing-kids」和「shopping-clothing-other」。
我有一個集合或字典,可以將那個slu translate翻譯成對最終用戶更有意義的東西(例如「shopping-clothing-women」 - >「Women's Clothing」)。
如果我想選擇是在購物>服裝類的所有對象,我會做這樣的事情:
DB.Objects.Where(a => a.Category.Contains("shopping-clothing"));
,並會找回所有的女裝,男裝,兒童服裝小類的購物>服裝類別。
目標是簡單的查詢,但保持強大的能力接近無盡的子分類沒有瘋狂的數據庫關係和JOINS。我也傾向於將來將我的應用程序適配到NoSQL數據庫,這將有助於實現這一點。
但是,上面的查詢令我擔心...會不會很慢?
這個計劃是一個壞主意嗎?
你保持有效蛞蝓值的表?如果你在商店裏穿衣服女人而不是購物服裝的女人,會發生什麼?會錯過這個記錄嗎? – 2010-10-21 10:55:04
是的,有一個內存收集與有效的類別slu。。謝謝你指出,雖然。 – Chaddeus 2010-10-21 12:09:10