我正在寻找使用实体框架基于子域设置数据库的最佳方法。
我对主数据库上的迁移不感兴趣,但我确实希望它在子域上工作。
这是我迄今为止发现的最好的,但我想知道是否有更简化的方法:https://www.reddit.com/r/dotnet/comments/2t2xlz/entity_framework_multiple_database_single/
答案 0 :(得分:1)
您必须执行以下步骤
创建一个始终查找元数据以获取上下文连接字符串的连接解析器
在您的数据库上下文中,您必须将在(1)中获得的连接字符串作为实体连接传递
这样,您始终拥有基于域的连接字符串。
HTH
答案 1 :(得分:0)
我最终执行了以下操作,它适用于迁移和所有:
请记住,您只能在发送请求时获取子域,而不能在开始请求之前获取子域。在调用Application_BeginRequest之前对子域上下文的任何调用都将导致错误。
为了将依赖注入到存储库中,您可以设置传递的正确上下文,以便它知道使用主上下文或子域上下文。