現在、ユーザー定義フィールドを実装する必要があるシステムを構築しています。
私は現在、次のEAVのような構造を持っています。「Person」テーブルは、マスター テーブルとして機能します。
人物表
PersonID(PK)
PersonName
データフィールド テーブル
FieldID(PK)
FieldName
FieldType
DataFieldValue テーブル
ID(PK)
DataFieldID(FK)
PersonID(FK)
StringValue
IntValue
LongValue
DateValue
DateAdded
DateUpdated
この構造をプロトタイプでうまく使用することができました。ただし、非常に多くのレコードに対応する必要がある私の生産システム。私の好みはこのアプローチに固執することですが、「DataFieldValue」テーブルはかなり大きくなる可能性があります。
これは本番システムで安全でしょうか、それとも何らかの形で分解したほうがよいでしょうか?
SQL Server と ASP.net MVC 4 (EF 5 を使用) を使用しています。