我有一个我坚持使用的某种预定义的数据库结构。问题是这种结构是否适合 ORM,或者我是否应该添加一个处理层,以便在每次将某些内容插入原始数据库时创建一个更方便的结构。
为了简化,这就是它的样子。
我有一个人表:
PersonId
Name
我有一个属性表:
PersonId
PropertyType
PropertyValue
所以,对于约翰·多伊这个人...
(1, 'John Doe')
...我可以拥有三个属性:
(1, 'phone', '555-55-55'),
(1, 'email', 'user@company.com),
(1, 'type', 'employee')
通过使用 ORM,我想获得一个具有“名称”、“电话”、“电子邮件”、“类型”属性的“人”对象。
Propel 能做到吗?它的效率如何?创建一个包含“电话”、“电子邮件”、“类型”列的表并在将新行插入属性表时自动填充它是一个更好的主意吗?