我很好奇任何用于解决ORM方法中对象层次结构的解决方案(在本例中,使用实体框架4)。我正在通过一些关于EF4的文档并尝试将其应用于简单的库存跟踪计划。有可能的类型库存落入如下:我该如何最好地解决这个对象类型heirachy?某种类型的枚举层次结构?
库存项目类型:
- 硬件
-
- PC
-
-
- 桌面
-
-
-
- 服务器
-
-
-
- 笔记本
-
-
- 附件
-
-
- 输入(键盘,扫描仪等)
-
-
-
- 输出(周一itors,打印机等)
-
-
-
- 存储(USB记忆棒,磁带驱动器等)
-
-
-
- 通信(网络卡,路由器等)
-
- 软件
有什么建议没有在这样的情况下处理枚举?枚举甚至是解决方案吗?我并不想为这样一个相对简单的实验设置一个荒谬的规范化数据库(例如InventoryType,InventorySubtype,InventoryTypeToSubtype等的表格)。即使没有包含其他属性或方法(除了理想情况下会有相关附件和软件但可能超出范围的PC类型),我并不想过度复杂化每个子类型的数据模型。
感觉就像应该有一个非常简单,优雅的解决方案,但我不能把它放在手指上。任何帮助或意见赞赏!
我从一开始就想要这样的东西(没有意识到它被认为是一个“复合设计模式”)。我只是不确定在实践中EF如何生成类。事实证明,对自引用类的支持非常简单。我仍然需要寻找一种有效的方法来遍历heirachy [例如:如果HasAncestry(CurrentCategory,“Hardware”)],但应该很容易。 – nathanchere 2010-03-31 02:16:29
Perhaphs OfType <>可能会帮助你在EF - http://msdn.microsoft.com/en-us/library/bb399295.aspx – Sunny 2010-03-31 02:49:04