c# - 在 ASP.Net 中基于 SQL 表动态生成模型
问题描述
我正在尝试创建一个可以基于 SQL 表动态构建的模型。我不会事先知道 SQL 表,所以模型需要是动态的。可能的表太多,无法为每个表预先构建模型。我希望用户能够通过,从列表中选择一个表,然后根据该表生成一个模型。任何见解或方向将不胜感激。谢谢
解决方案
我能想到几种略有不同的方法。所有人都会考虑使用代码生成器(例如 T4 文本模板工具)
我们使用的一种方法是将所有 Columnsdefinition 和 Tabledefinition 映射到数据库中单独的自己的表中。这并不是非常必要的,因为您可以使用数据库的 Information_Schema 来检索简单模型所需的信息。但!一旦您需要列和表的附加信息(这种情况更有可能),我会考虑将它们映射为自己的表中的自己的数据记录。
具体而言,我的意思是列和表定义是创建模型所需的信息。例如,表 DialogColumn 具有列名(nVarchar)、显示名(nVarchar)、记录历史(位)、UID_Dialogtable 和其他一些表示模型属性的“元”数据。一个表,让我们将其命名为 Dialogtable,然后提供所有属性,例如。表名、显示名、onsavingscript 等。
使用此信息,您可以生成类型包装器作为模型。您最好将它们创建为编译器构建过程中的前一步,或者只创建一次(取决于您的架构)。为了扩展和更改模型结构,您可以编写一个单独的工具,为您管理数据库中的表和列条目并编译您需要的程序集。
等等等等
推荐阅读
- python - 为什么实例和类调用的类方法不是一回事
- node.js - 如何从 Digital Ocean Load Balancer -> Nginx -> Node 脚本获取真实 IP 地址?
- javascript - 在 DialogFlow 内联编辑器中使用“request-promise-native”包
- angular - Angular 6 AuthGuard
- javascript - 什么符号/令牌集代表 JavaScript 中非空或未定义的所有内容?
- mongodb - Mongodb:为每个作者ID查找一篇文章
- php - 获取会话用户的表信息
- android - 底部选项卡式活动的自定义布局
- javascript - 添加对象数组以形成数据
- javascript - 如何使用 Javascript 更改 @font-face 源?