Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用多个数据库连接查询_C#_Entity Framework - Fatal编程技术网

C# 使用多个数据库连接查询

C# 使用多个数据库连接查询,c#,entity-framework,C#,Entity Framework,在带有JOIN的MSSQL中,可以交叉来自不同数据库的表。例如: select PM_ID, PR_Name, OTD_Name from SomeTable inner join PRD_Det on PM_ID = PR_Id inner join DataBase2.dbo.PRI_Desc on PM_Oper = O_Id where PM_Id = @PM_Id 我试图

在带有JOIN的MSSQL中,可以交叉来自不同数据库的表。例如:

select 
        PM_ID,
        PR_Name,
        OTD_Name
        from SomeTable
        inner join PRD_Det on PM_ID = PR_Id
        inner join DataBase2.dbo.PRI_Desc on PM_Oper = O_Id
        where PM_Id = @PM_Id
我试图用EntityFramework做一些类似的东西:

        Entities1 _Context1 = new Entities1 ();
        Entities2 _Context2 = new Entities2 ();

        var data = (from w in _Context1 .SomeTable
                    join s in _Context2.PRI_Desc on w.PRD_Det.Single().PM_Oper equals s.O_Id
                    where w.PRD_Det.Single().PM_Id == PM_ID
                    select new SomeDetails()
                        {
                            PM_ID = w.PRD_Det.Single().PM_Id,
                            PR_Name = w.PR_Name,
                            OTD_Name = s.OTD_Name
                        }).ToList();
我得到以下错误

指定的LINQ表达式包含对以下查询的引用: 与不同的上下文相关


如何解决此问题?

实体框架中不支持此问题(如例外情况所示)。您只能在同一上下文中的实体上使用
联接。

我必须进行许多与两个数据库连接的查询。毕竟,也许有人知道如何使用EF的两个数据库?