假设我们有预定义的表单,其中包含 3 个字段:FirstName、LastName、Email,并且此表单映射到表用户:ID、FirstName、LastName、Email
假设用户想要添加一个新字段,例如 BirthDate。用户将选择字段的类型,这里是 DateTime texbox 和字段旁边的文本,如出生日期,但是如何在用户表中添加此列?
任何帮助将不胜感激
约瑟夫
假设我们有预定义的表单,其中包含 3 个字段:FirstName、LastName、Email,并且此表单映射到表用户:ID、FirstName、LastName、Email
假设用户想要添加一个新字段,例如 BirthDate。用户将选择字段的类型,这里是 DateTime texbox 和字段旁边的文本,如出生日期,但是如何在用户表中添加此列?
任何帮助将不胜感激
约瑟夫
用户没有现实的方法可以动态地将字段添加到实际的数据库表中,而不是让您拥有像“DateOfBirth”或“ShoeSize”这样的新字段。
但是,您可以通过更改应用程序的核心设计来从用户那里获取动态数据。您需要做的是抽象数据库并将每个值存储为单独的记录,而不是将数据存储在固定的“水平”表中 - 有点像“垂直”表。
所以你会有一张像
Field, Data, Type
---------------------------
"FirstName", "John", string
"LastName", "Smith", string
"DateOfBirth", "01/01/1950", datetime
"ShoeSize", "4", int
这是一个架构问题,而不是技术问题。
这里有一篇非常好的文章,更深入地讨论了它。
重要的是要了解这确实使您的应用程序更加抽象,类型安全性降低并且因此更加复杂。除非您完全了解所涉及的额外工作,否则我不建议您尝试这样做。