是否可以在运行时将数据库添加到动态数据网站(ASP.NET)?

时间:2011-07-27 19:52:56

标签: c# asp.net dynamic-data

我正在实施基于网络的流程管理引擎,我遇到了一些问题:

流程模型具有不同的具有属性的对象类型,例如
模型“招聘”:
员工(姓名,生日,部门)
申请(日期,......)
申请人(姓名,生日,......)

每个模型都有自己的数据库,每个对象类型实例都存储在此数据库的单独表中。 (是的,它非常非规范化...)在运行时,可能会添加新模型,这会导致其他数据库具有不同的方案来处理。

ASP.NET中的动态数据与已经存在的db方案一起使用。是否可以添加这些新数据库(工作)并在运行时创建相应的LINQ2SQL类?

我可以(重新)规范化表并将所有模型和数据存储在同一个数据库中(所以我会在构建时知道该方案),但因为它是一个具有大量数据的多用户系统每个表中的实例,它太复杂了(连接等)......

有什么想法吗?提前致谢

的Stefan

1 个答案:

答案 0 :(得分:0)

如果您有动态数据定义语言并且需要偶尔添加新对象,则一种DB方法是使用EAV model,其中主数据库表(如客户)键入属性表(包含动态)客户的属性)和另一个表具有每个属性的键控值。

使用此方法,您可以将DD应用程序硬连线到EAV模型,然后随意添加对象和属性,而无需对数据库中的数据定义语言进行任何指定更改。