我们的组织需要拥有一个数据库,多租户
(通过表模式,而不是租户ID)架构.
这里有一篇很棒的文章来开始讨论这类事情:http: //romiller.com/2011/05/23/ef-4-1-multi-tenant-with-code-first/
在文章的中间,写道:
您会注意到(可能有点沮丧)我们需要编写代码来为每个实体配置表模式.不可否认,围绕此代码的魔术独角兽并不多......在EF的未来版本中,我们将能够用更清洁的自定义约定来替换它.
我们的目标是拥有一个最简单的方法,可以使用一个上下文类来连接到具有相同模型的多个模式.
(请注意,modelBuilder.HasDefaultSchema似乎不够,因为它仅适用于EF首次初始化上下文并运行OnModelCreating时)
EF5或EF6中是否存在上述清洁自定义约定?
或者是否有更清洁的方式来处理这个?
注意:我也在开发论坛上问了这个问题,因为它似乎更多地与EF的方向有关,但是想看看这里是否有人有替代方案.
注2:我不担心迁移,我们会分开处理.
我在项目中使用EntityFramework连接到Mysql数据库.提供者是Devart Dot.connect.
此应用程序需要使用用户在运行时给出的连接参数连接到数据库.这当然包括Mysql数据库名称.
我使用EntityConnectionStringBuiler和EntityConnection类来构建和存储自定义连接参数.
问题是即使使用这样的给定参数,应用程序也总是连接到使用visual studio向导设计EntityModel时命名的数据库.非常奇怪的是,当调试和检查ObjectContext的状态时,自定义连接参数被正确使用......这让我很生气!!!!! 任何线索?