zoukankan      html  css  js  c++  java
  • Linq to Entity中连接两个数据库时要注意的问题

    Linq to Entity中连接两个数据库时要注意的问题

    今天大学同学问了我一个问题,Linq to Entity中连接两个数据库时,报错“指定的 LINQ 表达式包含对与不同上下文关联的查询的引用。”

    研究下却是发现这个问题,下面是我做的测试:

    复制代码
    class Program
        {
            
    static void Main(string[] args)
            {
                
    using(UserDBEntities context=new UserDBEntities() )
                {
                    
    using (WaterManageEntities client = new WaterManageEntities())
                    {                    
                        var query 
    = from s in context.NewsTypes where s.ID == client.Layers.FirstOrDefault().LayerID select s;                          
                        
    foreach (NewsType type in query)
                        {
                            
                            Console.WriteLine(type.NAME);
                            Console.ReadKey();
                        }
                    }
                }
            }
        }
    复制代码

    上面的代码报错如图:

    但是我无意中修改成下面的代码,就可以了。重新定义一个变量,分步骤来查询就可以了

    复制代码
     class Program
        {
            
    static void Main(string[] args)
            {
                
    using(UserDBEntities context=new UserDBEntities() )
                {
                    
    using (WaterManageEntities client = new WaterManageEntities())
                    {         
                        
    int ID=client.Layers.FirstOrDefault().LayerID ;
                        var query 
    = from s in context.NewsTypes where s.ID ==ID select s;                          
                        
    foreach (NewsType type in query)
                        {
                            
                            Console.WriteLine(type.NAME);
                            Console.ReadKey();
                        }
                    }
                }
            }
        }
    复制代码

    总结:

    这连接两个不同数据库时报上面的错误,我们只需要分步骤查询就可以了,我的猜测是数据源Connection只能允许我们同时只能连接一个数据库。不知道这个理解是否正确,希望有人有更好的解决办法

  • 相关阅读:
    Sql server Always On 读写分离配置方法
    MSSQL AlwaysOn中的“主角色中的连接”和“可读辅助副本”
    Windows Server 2019 Active Directory (AD域)时间不同步的解决方法
    windows server 2008 R2 域中用组策略隐藏指定磁盘驱动器(盘符)
    pg数据库优化
    Qlik
    如何查看数据库特别慢
    针对数量的null值最好要做变0处理
    pg如何实现月份的加减
    sql
  • 原文地址:https://www.cnblogs.com/powerzhang/p/3283672.html
Copyright © 2011-2022 走看看