比方说,我有一个类叫Expense
。我可以添加各种类型的汽车相关费用 - 坦克费用,修理费用,车票等。费用的某些属性对于所有类型(如成本,日期等)都是相同的,但是存在一些差异。例如:当我为我的汽车加油时,我想保存信息,就像我完全填满了我的坦克或不。但是,当我正在保存修复时,我想保存一些其他信息。灵活的财产机制
问题是 - 如何创建某种灵活的属性机制?
我想出的是有两个表:expenses
和expenses_properties
。在expenses
表,我可以存储所有基本的,常用的数据和expenses_properties
将有以下结构:
| Id | PropertyName | PropertyValue | ExpenseId
| 1 | IsFull | "true" | 1
| 2 | Stuff | "2016-10-02" | 1
的问题是,为PropertyValue
专栏中,我将不得不使用特定类型的,像nvarchar
例如。在这种情况下,我将无法正确排序这些值(例如按日期)?或者,也许我会?
我认为必须有更好的方式来使用实体框架代码优先方法来做到这一点。
如果你知道这个* Entity Attribute Value *的官方术语,你可以做一些进一步的研究。我相信这会让你思考三次。 –
@Gert,非常感谢!研究确实让我思考了三次! –