我有一个 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/