在ASP.Net中基于SQL表动态生成模型

时间:2018-06-19 18:37:21

标签: c# asp.net asp.net-mvc model-view-controller

我正在尝试创建一个可以基于SQL表动态动态构建的模型。我不会事先知道SQL表,因此模型必须是动态的。为每个模型预先建立模型的可行表太多。我希望用户能够浏览一下,从列表中选择一个表,然后根据该表生成模型。任何见解或方向将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

我可以想到几种不同的方法。所有人都会考虑使用代码生成器(例如T4文本模板工具)

我们使用的一种方法是将所有Columnsdefinition和Tabledefinition映射到数据库中各自独立的表中。这不是强制性的,因为您可以使用数据库的Information_Schema检索简单模型所需的信息。但!一旦您需要有关列和表的其他信息(更可能是这种情况),我会考虑将它们映射为自己的表中的自己的数据记录。

具体,我的意思是通过列和表的定义来创建模型所需的信息。 例如。表DialogColumn具有类似Columnname(nVarchar),displayname(nVarchar),recordhistory(位),UID_Dialogtable和其他表示模型属性的“元”数据的列。一个表,命名为Dialogtable,然后提供所有属性,例如。表名,显示名,on Savingscript等。

使用此信息,您可以将类型包装器生成为模型。 最好将它们创建为编译器构建过程中的第一步,也可以仅创建一次(取决于您的体系结构)。 为了扩展和更改模型结构,您可以编写一个单独的工具来为您管理数据库中的表和列条目,并编译所需的程序集。

依此类推