我们正在考虑设计一个管理联系信息的应用程序.
客户的一个要求是允许其powerusers或admin-type staff通过UI向数据库添加列.客户无法直接访问数据库(即,他们无法使用SSMS打开并进行更改).
我看到控件1)输入字段名称,2)输入数据类型,3)选择要添加字段的表.用户单击按钮后,将使用新字段更新数据库.我需要检查适当的权限,该字段是否已经存在等等.我们还需要将表单字段连接到这个新字段,就像报表设计器界面一样.
>我在哪里可以找到显示我想要做的样本?
>这样做的缺点是什么?除了开发人员做这件事似乎相当多的工作之外.>你会建议这样做吗?如果没有,什么是更好的解决方案?编辑 – 我们需要使用SQL Server.不可协商.
是绝对要求他们向表中添加列,还是只能指定要存储的其他字段?我强烈建议你考虑像Entity-Attribute-Value这样的东西,而不是允许最终用户(管理员算作最终用户)进行架构更改.对于类似这样的事情,您将有一个表来定义自定义字段,然后是一个多对多关联表,以允许用户为联系人指定自定义字段的值.例如:
Contact --------- -> ContactId | FirstName | LastName | etc. | | ContactField | -------------- | ContactFieldId <--- | FieldName | | | | ContactFieldValue | | ------------------- | -- ContactId | ContactFieldId ------------------------- Value
实现的细节显然取决于您(例如,是否使用ContactId ContactFieldId作为ContactFieldValue中的复合主键),但这应该得到一般性的想法.
查看更多关于c# – 允许用户即时向其数据库添加列的最佳方法是什么?的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did69356