首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.net MVC动态修改数据库结构和更新模型

ASP.net MVC动态修改数据库结构和更新模型
EN

Stack Overflow用户
提问于 2014-09-17 13:39:23
回答 2查看 188关注 0票数 1

我正在设计我的web应用程序的架构。我想在后端使用asp.net mvc5和oracle数据库。

我的项目的一个基本要求是应用程序的管理员用户可以添加/删除表单域。我想在运行时(而不是设计时)物理地添加/删除数据库表中的列。

我如何在mvc中实现它,以及如何在运行时动态更新模型?

我是否应该使用一些ORM,或者我如何设计数据访问层?

我只需要架构设计方法的建议和提示。

EN

回答 2

Stack Overflow用户

发布于 2014-09-17 15:11:02

您可以尝试下面的表结构,而不是在运行时物理地添加和删除字段

代码语言:javascript
复制
Field Name              Field Type
CustomField1Name        Nvarchar(256)
CustomField1Value       Nvarchar(Max)
CustomField1IsVisible   Bool
CustomField1FieldType   Nvarchar(32)  [char/numeric/bool etc]
CustomField1Required    Bool

CustomField2Name        Nvarchar(256)
CustomField2Value       Nvarchar(Max)
CustomField2IsVisible   Bool
CustomField2FieldType   Nvarchar(32)
CustomField2Required    Bool

如果您需要更多特定于字段的信息,如自定义验证,可以在此处添加。

重复此步骤,以确定所需的自定义字段数量。由于这种设计,在运行时,DB级别不会有任何结构变化。您可以在编码级进行的所有更改。

票数 0
EN

Stack Overflow用户

发布于 2014-09-18 11:09:37

实体属性值模式是一种方法。在我看来,如果过度使用,这将成为一种反模式。这有一些缺点,比如将每个值存储为字符串。您可能会发现很难将"true+“解析为布尔值。您也可以在弱类型方式或弱类型数据集中执行此操作。如果你想走这条路,你实际上是在创建列。不要给用户创建列的权限,而是给他们执行创建列的过程的权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25883037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档