【发布时间】:2011-09-21 12:48:30
【问题描述】:
这几天我一直在努力寻找解决方案,但我找不到任何“最佳实践”或关于如何实现我想要的很好的解释。
假设我有一个由以下表格组成的数据库(只是一个示例);
Customers (Fields: Id, CustomerName, Location)
Products (Fields: Id, ProductName, ProductCode)
Groups (Fields: Id, GroupName)
然后我需要将这些链接在一起以显示在 Treeview 中。例如;
Customer1
|
|-Group1
| |-Product1
| |-Product2
|
|-Group2
|-Product2
|-Product3
|-Group3
|
|-Product1
|-Product4
正如我所说,这只是一个例子。真正的解决方案包括其他类型。
由于产品可能出现在多个地方,我需要创建一个“链接表” 显示层次结构数据。
所以我创建了另一个看起来像这样的表;
Id (int)
ParentId (int)
ObjectType (int)
GroupId (int)
ProductId (int)
CustomerId (int)
ObjectType 字段的原因是要知道我需要在哪个数据库中检查项目名称等以显示在树视图中。
我现在的问题是:有没有其他方法来设计这个数据库? 我正在使用 LINQ 等在 C# 中开发。
【问题讨论】: