【发布时间】:2011-07-19 08:22:48
【问题描述】:
我使用 mvc3 和 linq 2 SQL 从已填充的实时数据库表中成功检索数据。该表在 DataClasses1.dbml 中定义。
现在我必须从具有相同结构的 DataClasses1 的其他表中检索数据,但从同一 SQL Server (DB1.Customers DB2.Customers ecc) 上的不同数据库中检索数据,并按数据库名称分组显示。
1) 我如何在不创建 N DataClassesN.dbml 的情况下做到这一点?我想因为它是相同的表结构,所以我可以避免这样做。
2)(可选):如何自动从新创建的数据库的表中检索数据?
3) (不相关):如何定义强类型视图?似乎我可以使用 EF 做到这一点,但我不能使用 LINQ 2 SQL 做到这一点。
我已经想过在数据库上创建一个包含所有客户表的视图,但它似乎太重了!
我有一个返回所有数据库名称的查询(Select name from master..syttables),有用吗?
提前致谢
【问题讨论】:
-
您应该重新考虑您的数据库设计。如果此数据由单个应用程序使用,具有一致的结构,并且您希望将其作为单个数据类型使用,那么它应该全部存在于 one的 one 表中> 数据库。如有必要,添加一列以确定它属于哪个“子集”。
-
@Kirk Broadhurst - 不想这样做的原因有很多。例如,我开发了一个有多个客户的应用程序,每个客户在离开时都需要能够“随身携带数据”,因此这需要让每个客户使用自己的数据库。从程序员的角度来看最好的东西并不总是从商业角度来看是最好的。
-
@Mystere Man - 在我看来,“获取他们自己的数据”并不足以提供他们自己的数据库。有 200 个客户需要 200 个数据库?那是无法维护的。
标签: asp.net linq linq-to-sql asp.net-mvc-3 scaffolding