我目前正在构建一个需要实现用户定义字段的系统。
我目前有以下 EAV 'like' 结构。'Person' 表充当主表。
人表
PersonID(PK)
PersonName
数据字段表
FieldID(PK)
FieldName
FieldType
数据字段值表
ID(PK)
DataFieldID(FK)
PersonID(FK)
StringValue
IntValue
LongValue
DateValue
DateAdded
DateUpdated
我已经成功地在原型中使用了这种结构。然而,我的生产系统必须满足更多的记录。我的偏好是坚持使用这种方法,但“DataFieldValue”表可能会变得非常大。
这在我的生产系统中是否安全,或者以某种方式将其分解会更好吗?
我正在使用 SQL Server 和 ASP.net MVC 4(带有 EF 5)。