动态地将列添加到模型并显示相关字段以在视图asp.net mvc enityframework中添加,编辑和删除字段数据?

时间:2016-11-03 10:51:12

标签: c# asp.net-mvc entity-framework-6

我想让用户决定他想要在Object中添加哪个列或字段,具体取决于他选择创建该字段的数据类型,用户应该能够使用他选择创建的数据类型对该对象进行CRUD操作那个自定义字段。是否可能,如果是,创建它的最佳方法是什么? (所有这些操作都在浏览器中进行,而不是从代码中进行)

1 个答案:

答案 0 :(得分:0)

您不能每行“动态”向表中添加列。如果用户可以添加列,那么该列通常会添加到表中,并且该表中的每一行都会拥有该列。即使 可能,也需要在您的数据库上授予您的应用程序管理权限,这是一个巨大的安全失误。暴露给Web的数据库用户应该只具有必需的最小权限:通常只是INSERT,UPDATE,SELECT和DELETE,有时甚至不是所有这些权限。任何更多的东西都会让您面临SQL注入攻击的巨大风险,恶意用户也是如此。这是数据库101的内容,因此您可以在继续操作之前退后一步,了解有关您正在开发的平台的更多信息。

听起来你基本上只想要类似于“设置”表的东西。这些东西通常的工作方式是将“设置”的名称和字符串的值存储起来。您还可以存储类型值,也可以存储为字符串。然后,在检索设置后,您可以将值强制转换为您需要的正确类型。这是“动态”事物中最好的,因为关系数据库非常静态。它需要事先知道数据和它将要处理的数据的类型。