求关于LINQ的更好的设计思路
在一个产品开发的过程中,我要实现到以下效果:
目标:
一个数据表,允许用户自定义字段,如客户表,除关键的几个ID、CustomerName之外,我们允许客户自定义如Address,Tel等字段。
以前的数据库设计思路:
建立2个表:一个Customer表,一个UserDefineField表(用来登记自定义字段的相关属性,如FieldName,FieldType,DefaultValue等等。
为方便Customer的查询,因此在用户创建一个字段时,除了在UserDefineField表新建一条记录外,我会直接在Customer表中新建一个字段.
问题:
用Linq设计的话,数据库发生字段变化后,相应的映射就肯定不匹配。
现在的思路:
效仿SharePoint平台,每种字段类型均扩展10个自定义字段,如扩展int1,int2...int10,nvarchar1,...等等。
大家看看有没有更好的设计?