c# - LINQ 多连接挂起

标签 c# linq multiple-tables

我有一个 LINQ 查询,我需要在其中连接 3 个表,但它似乎卡在计算表达式上。

你认为这有什么问题吗?或者我为什么会被吊死? VS2010 输出窗口显示不同的线程以 0 退出。

这是 LINQ 表达式:

   var results = (from drECO in dtECO.AsEnumerable() 
                    join drBOMTo8 in dtBOM.AsEnumerable() on drECO.Field<string>("PN8Dig") equals drBOMTo8.Field<string>("PN8Dig")

                     from drBOMFrom8 in dtBOM.AsEnumerable ()
                     join drFAA8 in dtFAA.AsEnumerable () on drBOMFrom8.Field<string>("PN8Dig") equals drFAA8.Field <string>("PN8Dig")

                     from drBOMFromMon in dtBOM .AsEnumerable ()
                     join drFAAMon in dtFAA .AsEnumerable () on drBOMFromMon.Field <string>("Mon") equals drFAAMon.Field <string>("Mon")


                      select new
                     {
                         PN = drECO .Field <string>("PN"),
                         PNNEWREV = drECO.Field <string>("PNNewRev"),
                         PN8DIG = drECO.Field <string >("PN8Dig"),
                         ECO = drECO .Field <string >("ECO"),
                         MON = drFAAMon.Field <string>("Mon"),
                         SUPNUM = drFAAMon.Field <string>("SupNum"),
                         URL = drFAAMon.Field <string>("URL")
                     }).Distinct ();

最佳答案

根据我的经验,当提供程序、它的驱动程序或提供程序与之通信的底层数据库出现问题时,LINQ 会出现挂起和奇怪的控制流问题。

如果您使用的数据库可以分析已执行的查询,请使用该机制查看该层发生的情况。如果它甚至没有到达那里,请将该信息添加到您的问题中。

关于c# - LINQ 多连接挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41706579/

相关文章:

mysql - 通过多个表获取MySQL数据

php - 基于多个条件的高度过滤搜索

c# - COPY FROM STDIN 以从 C# 中的内存数据集中插入

c# - 如何从 IIS 托管的 WCF 服务启动进程?

C# 获取不同的最大值

c# - Lambda 检查列表是否包含所有属性的某些属性值

c# - 是否有将 IQueryable<T> lambda 表达式转换为 SQL 字符串的 api 或扩展?

mysql 多表 vs 1 表

c# - 使用可空结构可以提高性能吗?

c# - 在下载的 txt 文件中提取 url 链接