使用通用crm软件的自定义字段设计数据模型的推荐方法是什么?

时间:2012-04-07 16:30:42

标签: sql-server entity-framework database-design ef-code-first entity-attribute-value

我想使用SQL Server 2008开发通用CRM应用程序。

应用程序必须使用某种扩展技术启用自定义用户字段。

我读了很多关于不同选项的内容,例如:

  • 可观察模式,
  • 实体属性值(EAV)

但不幸的是,这些选项难以实现,我理解应用程序性能受到影响,并且使用Entity Framework Code First查询存储库也很困难。

我很欣赏其他一些简单的选项。

1 个答案:

答案 0 :(得分:2)

大多数情况下,像这样的包扩展系统用于将用户定义的列添加到现有表中。

您可以允许用户定义自己的表,这些表位于自己的(隔离的)架构中。管理此扩展过程的管理UI需要运行构建这些用户定义表所需的DDL代码。如果将它们定义为预定义表的扩展,则系统应在其扩展的预定义表和用户定义表之间强制实施1:1关系。如果需要,您还可以允许独立的用户定义表。

创建用户定义的表后,使用(预定义的)映射表将用户定义的表/列连接到CRM UI中的预定义字段。如果您还允许用户定义UI表单和字段,那么您的映射表也可以与这些相关联。