C# 使用ASP.NET查看多个组织拥有的多个survyes的网站

C# 使用ASP.NET查看多个组织拥有的多个survyes的网站,c#,asp.net,survey,C#,Asp.net,Survey,我正在开发一个网站,将用于输入,编辑和检查调查状态。客户可以登录到此网站的仪表板,从中可以查看调查状态、输入新调查、编辑调查等 现在,我想将每个调查放在一个单独的数据库中,该数据库将命名为“surveyName”+SurveyDB。由于每个组织将有多个用户登录该网站,我决定为这些用户创建一个单独的数据库,其中将包含以下内容: 用户表 组织机构表 OrganizationSurveyMapping表 组织表将包含组织信息。用户表将包含用户信息和用户所属的组织。OrganizationSurveyM

我正在开发一个网站,将用于输入,编辑和检查调查状态。客户可以登录到此网站的仪表板,从中可以查看调查状态、输入新调查、编辑调查等

现在,我想将每个调查放在一个单独的数据库中,该数据库将命名为“surveyName”+SurveyDB。由于每个组织将有多个用户登录该网站,我决定为这些用户创建一个单独的数据库,其中将包含以下内容:

用户表
组织机构表
OrganizationSurveyMapping表

组织表将包含组织信息。用户表将包含用户信息和用户所属的组织。OrganizationSurveyMapping表是一个多对多表,用于将每个组织映射到其调查,调查的名称是调查所在的数据库的名称。此名称将用于建立到数据库的连接


我的问题是:我做得对吗?将每个调查放在单独的数据库中可以吗?有更好的方法吗?

使用单独的数据库?我认为这不是一个好办法。想知道是否有1000个调查,将有数千个数据库

可能的解决办法: 1.多个表:“surveyName”+用户(我仍然认为这不是一个好方法) 2.参考数据(这是我能想到的最好的方法,您只需要很好地规范化)

另外,“将每个调查放在单独的mdf文件中意味着它与其他调查隔离”也没有多大意义
如果是上述情况,那么CMS是如何工作的?在CMS中,如Kentico等,我们可以创建多个站点,这意味着他们将创建新的DB?他们没有。这都是关于参考数据的完整性。

我不会在每次调查中使用单独的数据库。表格可能是一种更好的方法。但每次调查都是由许多表格组成的。另外,将每个调查放在一个单独的mdf文件中意味着它与其他调查隔离。因此,您建议使用一个数据库来保存所有调查,然后我可以使用这些键获取任何调查信息?!顺便说一句:在wordpress中,你需要创建一个新的数据库,以便在本地安装一个新网站,我不知道他们在wordpress.com中是如何做到的。如果你熟悉ORM,你也可以使用它。Fluent nhibernate是您可以使用的ORM之一。