0

我有一个用于学习目的的笔记本电脑类和数据库中的几个表:生产者、颜色、类型是字典表(如 ID、名称)和实际的笔记本电脑表。

我的笔记本电脑桌是这样的:

MODEL | PRODUCER | COLOR | TYPE
-------------------------------
ABC1  |     1    |   2   |   1
XYZ   |     2    |   1   |   1

其他表看起来像这样(例如颜色表):

ID | NAME
---------
1  | red
2  | green

我的类属性是:模型-字符串,生产者-int,颜色-int,类型-int。

我的问题是:当我从 db 获取笔记本电脑对象并且我想用它们填充组合框时,我检索它们的方式并不是真正对人类友好。我想将所有这些整数从 db 转换为字符串以获得类似的东西。

ABC1 - 戴尔 - 黑色 - 标准 - 30 美元

如何解决这个问题?特殊方法?特别班?我希望我解释得足够好。谢谢。

编辑

好的,所以当我从我的笔记本电脑对象中获取我的笔记本电脑对象时,我使用简单的选择查询select model, producer, color, type from laptop 结果我得到了一行模型字符串和其余属性作为整数,然后我创建了一个对象。如果使用 joinselect laptop.model, producer.name, color.name, type.name from ... laptop join producer on laptop.producer = producer.id ...等,我得到的结果是所有与我的类结构不匹配的字符串。解决这个问题的好习惯是什么?

4

1 回答 1

0

有多种方法可以做到这一点。例如,您可以加入字典表以仅返回您想要的列,例如颜色的名称而不是它的 ID。或者您可以懒惰地评估,例如有一个 colorName 的 get 方法,该方法从数据库中检索该行的值。但是,延迟评估会严重影响性能,因此您可以将字典表检索到 Dictionary 或等效项中并在内存中查找它们。

于 2013-10-14T23:34:03.900 回答