Entity framework 使用带有2个连接字符串的EF4.1代码优先DbContext
是否可以使用一个DbContext和两个连接字符串 这就是我所拥有的:Entity framework 使用带有2个连接字符串的EF4.1代码优先DbContext,entity-framework,ef-code-first,entity-framework-4.1,Entity Framework,Ef Code First,Entity Framework 4.1,是否可以使用一个DbContext和两个连接字符串 这就是我所拥有的: // this is from Db1 public class Log { public virtual Court Court {get;set;} public Guid CourtId {get;set;} public DateTime Date{get;set;} } // this is from Db2 (different connection string) public class
// this is from Db1
public class Log
{
public virtual Court Court {get;set;}
public Guid CourtId {get;set;}
public DateTime Date{get;set;}
}
// this is from Db2 (different connection string)
public class Court
{
public Guid Id {get;set;}
public string Name {get;set;}
}
这可行吗?我不这么认为。不可能,何塞。这根本没有道理 我不这么认为。不可能,何塞。这根本没有道理 DbContext类只支持每个上下文一个连接。允许单个DbContext使用多个数据库的问题之一是查询生成。在您的示例中,考虑到法庭实体位于不同的数据库中,什么样的查询允许我列出所有日志?DbContext类只支持每个上下文一个连接。允许单个DbContext使用多个数据库的问题之一是查询生成。在您的示例中,考虑到法庭实体位于不同的数据库中,什么样的查询允许我列出所有日志?如果您希望有两个到不同数据库(包含不同的表)的连接字符串,则必须有两个包含各自映射的不同上下文。这对于ObjectContext API和DbContext API都是如此——这是设计上的。唯一受支持的方案是在同一类型的数据库服务器(数据库提供程序)上有两个连接字符串和两个完全相同的数据库。在这种情况下,可以在实例化连接字符串时将其传递给上下文的构造函数。即使在这种情况下,您也不能让一个上下文实例处理两个数据库连接。如果您希望有两个到不同数据库(包含不同表)的连接字符串,则必须有两个包含各自映射的不同上下文。这对于ObjectContext API和DbContext API都是如此——这是设计上的。唯一受支持的方案是在同一类型的数据库服务器(数据库提供程序)上有两个连接字符串和两个完全相同的数据库。在这种情况下,可以在实例化连接字符串时将其传递给上下文的构造函数。即使在这种情况下,您也不能让一个上下文实例处理两个数据库连接。对于日志之类的东西,选择(o=>new{o.Court.Name,o.Date})第一个数据库中的一个查询请求日志,第二个数据库中的一个查询请求法院,然后它们在内存中通过CourtId连接(这就是我想象的)嗯,对于日志之类的东西,选择(o=>new{o.Court.Name,o.Date})第一个数据库中的一个查询请求日志,第二个数据库中的一个查询请求法院,然后它们在内存中通过CourtId连接(这就是我想象的)