IM在数据库中存储列,用户可以添加和删除列,并使用假列。我如何有效地实现这一点?
最佳答案
最好的方法是垂直实现数据结构,而不是普通的水平实现。
这可以用类似于
TableAttribute
AttributeID
AttributeType
AttributeValue
此垂直应用程序主要用于用户可以创建自己的自定义表单和字段的应用程序(如果我记得正确,devexpress表单布局允许您创建自定义布局)。它主要用于crm应用程序,在生产中易于修改,易于维护,但一旦数据集变得非常大,就会大大降低sql性能。
编辑:
这将取决于你想走多远。可以将其设置为每个窗体/表,添加描述实际控件(查找、组合、日期时间等)位置的属性,允许的值(min/max/allow null)。
这可能会成为一个非常繁琐的任务,但将在很大程度上取决于你的实际需要。