我想使用 SQL Server 2008 开发一个通用的 CRM 应用程序。
应用程序必须使用一些扩展技术启用自定义用户字段。
我阅读了很多关于不同选项的信息,例如:
- 可观察模式,以及
- 实体属性值 (EAV)
但不幸的是,这些选项很难实现,我知道应用程序性能会受到影响,而且使用 Entity Framework Code First 来查询存储库也很困难。
我将不胜感激其他一些简单的选项来实现。
我想使用 SQL Server 2008 开发一个通用的 CRM 应用程序。
应用程序必须使用一些扩展技术启用自定义用户字段。
我阅读了很多关于不同选项的信息,例如:
但不幸的是,这些选项很难实现,我知道应用程序性能会受到影响,而且使用 Entity Framework Code First 来查询存储库也很困难。
我将不胜感激其他一些简单的选项来实现。
大多数时候,像这样的包扩展系统用于将用户定义的列添加到现有表中。
您可以允许用户定义他们自己的表,这些表放置在他们自己的(隔离的)模式中。管理此扩展过程的管理 UI 将需要运行构建这些用户定义表所需的 DDL 代码。如果它们被定义为预定义表的扩展,您的系统应在其扩展的预定义表和用户定义表之间强制执行 1:1 关系。如果需要,您还可以允许独立的用户定义表。
创建用户定义表后,使用(预定义)映射表将用户定义表/列连接到 CRM UI 中的预定义字段。如果您还允许用户定义 UI 表单和字段,那么您的映射表也可以/而不是与这些相关联。