C# 林奇';join子句中某个表达式的类型不正确';
我有一个复杂的LINQ to SQL查询,它连接到两个表上-一个非常简单,工作正常,但另一个相当复杂,我发现join子句中一个表达式的类型不正确。调用“GroupJoin”时类型推断失败 这是一个相当长的问题,我做了一项关于互联网接入的工作,所以我想我应该看看这句话是否足够:C# 林奇';join子句中某个表达式的类型不正确';,c#,linq-to-sql,C#,Linq To Sql,我有一个复杂的LINQ to SQL查询,它连接到两个表上-一个非常简单,工作正常,但另一个相当复杂,我发现join子句中一个表达式的类型不正确。调用“GroupJoin”时类型推断失败 这是一个相当长的问题,我做了一项关于互联网接入的工作,所以我想我应该看看这句话是否足够: join consignments in dc.Consignments .FirstOrDefault(x => x.TripDate > dateFrom && x.Tri
join consignments in dc.Consignments
.FirstOrDefault(x => x.TripDate > dateFrom
&& x.TripDate < dateTo
&& x.DeliveryDepot == depot.Letter
&& (x.DeliveryStatus == 2 || x.DeliveryStatus == 3))
on new { Reg = s.VehicleReg, Depot = s.VehicleDepot }
equals new { Reg = consignments.VehicleReg, Depot = consignments.DeliveryDepot }
into con
在dc中加入托运。托运
.FirstOrDefault(x=>x.TripDate>dateFrom
&&x.TripDate
我已经确保了数据类型是相同的,但它仍然不起作用。有什么想法吗?我认为问题在于这一部分:
on new { Reg = s.VehicleReg, Depot = s.VehicleDepot }
equals
new { Reg = consignments.VehicleReg, Depot = consignments.DeliveryDepot }
确保
s.VehicleReg
与托运货物的类型相同。VehicleReg和s.VehicleDepot
与托运货物的类型相同。DeliveryDepot您确定s.VehicleDepot与托运货物的类型相同吗
on new { Reg = s.VehicleReg, Depot = s.VehicleDepot }
equals new { Reg = consignments.VehicleReg, Depot = consignments.DeliveryDepot }
还要确保您的成员名称完全相同,大小写相同。例如:
new { Reg = s.VehicleReg, Depot = s.VehicleDepot }
equals
new { Reg = consignments.VehicleReg, DEpot = consignments.DeliveryDepot }
将失败,因为在第二个匿名类型中,depot是不同的情况。谢谢大家,仔细查看之后,其中一个depot数据类型是“char(2)”,另一个是“nchar(10)”。这会导致这种情况吗?这让我非常头疼,直到我给每一项都指定了一种类型
{ID=something.ID}等于{ID=otherthing.ID}
其中ID是类型