由于缺乏更好的术语,使用“链式字符串”构建嵌套类别“系统”的想法。计划如下:是否将类别嵌套为“串连”是一个坏主意?
类别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