我有两个继承自Product类的类(Book,Software)。这两个类有一些彼此不同的字段。如果我要将这两个类的数据保存到单个表中,则会导致某些列具有空值。
如果我将数据保存到不同的表(Books表和Software Table)中,然后想在单个gridview中查看这些数据,我是否必须加入数据然后将其加载到gridview?
我想稍后再添加2个类(IndividualCustomer,WholesaleCustomer),它们将以与上述相同的方式继承Customer类。
请引导我走向最好的方法。谢谢你
答案 0 :(得分:3)
在这种情况下,我创建了三个表:产品,书籍和软件。
在产品中我会把PK和所有常见字段放在一起;在预订相同的PK和书籍特定领域;与Book for Software相同。
这些表之间的关联应该是1:1。
答案 1 :(得分:3)
我不是C#程序员,但我会选择像
这样的东西`products` table
- product_id (pk)
- title
- price
- etc
`products_software` table
- software_id (pk)
- product_id (foreign key, relates to a product_id)
- serial_number
- storage_media
`products_books` table
- book_id (pk)
- product_id (foreign key, relates to a product_id)
- pages
- author
答案 2 :(得分:1)
书籍和软件并不是不同的产品,它们只是不同的类别。
我会创建几个表: 制品 分类 属性 PropertiesToCategories PropertiesToProducts
在此表单中,您可以为每个类别附加一些属性,例如:图书有作者,标题,出版商
当您想要添加新产品时,您应首先选择它的类别,然后您可以将可用(对于图书:作者,标题,发布商)属性附加到您的新产品。