EF6中的多租户,具有多个具有相同表的模式

Dar*_*lar 9 .net c# sql-server entity-framework entity-framework-6

在我们的系统中,需要提供多租户解决方案,其中每个租户具有相同的数据结构.

在调查期间,我发现了一篇与EF4.1讨论多租户的文章.

http://romiller.com/2011/05/23/ef-4-1-multi-tenant-with-code-first/

这看起来是一个明智的解决方案,但如果可能的话,我们宁愿避免多个数据库上下文.

此外,我们对当前的单租户解决方案进行了大量迁移.使用EF6,迁移可以定位到特定上下文,如果不支持,则会定位默认值.

我在这里有几个问题:

  1. 当使用EF6而不是为EF4指定的EF6时,是否有更好的多租户方法?
  2. 有没有更好的方法来处理迁移?

任何帮助深表感谢!

anI*_*Mer 2

  1. 上下文正在连接到连接字符串,如果连接字符串在运行时解析,那么您正在使用一个带有 httprequest 特定实例的 dbcontext 类。为了区分 httprequest,可以使用主机名标头。
  2. 没有简单的方法来处理迁移。这是一个复杂的问题,但简而言之,在版本 1 结束之前,我通常会使用所有脚本创建一个初始迁移来配置数据库,这是为了帮助在此更改后创建的数据库不会受到任何迁移的影响。然后每次我需要更改时添加迁移。如果需要更多详细信息,请告诉我。