我们项目的数据库管理员已决定每个用户必须拥有 1 个 SQL Server 架构。这意味着如果系统确实有 20k 用户,那么 Sql Server 将有 20k 架构。原因是为了安全。
到目前为止,没有问题,但由于我们使用的是 Entity Framework ,并且架构是在初始化数据库上下文时在启动时设置的,因此我们无法更改架构。
我的问题分为两个:
- 让每个用户拥有 1 个架构是一个好方法吗?
- 如何使用 Entity Framework 处理这种情况?
我们在 Asp.Mvc 上使用 C# 和 .Net 4.0,以及 Sql Server 2008 R2 和 EF4.3。
最佳答案
对我来说,为每个用户使用不同的架构似乎很愚蠢,而且很麻烦。特别是如果您确实正在朝着 2 万用户的目标迈进。
我非常确定,在 SQL Server 和 ASP.NET MVC 之间,您无需执行此操作就可以实现安全的解决方案。
只是我的 2 美分:)
我认为Entity Framework Runtime Model Adapter应该能够帮助您解决有关更改架构的问题。
A set of Entity Framework connection and model adapters, allowing the arbitrary adjustment of an ObjectContext model at runtime.
This project allows a developer to adjust an Entity Framework schema at runtime when the deployment and development environments differ.
关于c# - 每个用户一个 SQL 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9926086/