LINQ - "le type de l'une des expressions de la clause de jointure est incorrect"
J'ai un complexe de LINQ to SQL de la requête, qui rejoint sur deux tables: l'une est plutôt simple et fonctionne bien, mais on est assez complexe et je suis de The type of one of the expressions in the join clause is incorrect. Type inference failed in the call to 'GroupJoin
C'est une assez longue requête, et je n'développement sur un plan de travail avec accès à Internet, donc je pensais que je voudrais voir si la ligne qui semble être la question est assez:
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
J'ai veillé à ce que les types de données sont les mêmes, mais ça ne fonctionne toujours pas. Des idées?
Merci à tous, eh bien après avoir cherché un peu plus, l'un des Depot des types de données est 'char(2)", et l'autre est " nchar(10)'. Serait-ce la cause?
OriginalL'auteur Chris | 2011-04-06
Vous devez vous connecter pour publier un commentaire.
Êtes-vous sûr qu'.VehiculeDepot est du même type que les envois.DeliveryDepot ?
{ID = something.Id} equals {ID = otherthing.Id}
où ID est le TypeOriginalL'auteur mathieu
Je pense que le problème est dans cette partie:
Assurez-vous que
s.VehicleReg
a le même type queconsignments.VehicleReg
, ets.VehicleDepot
a le même type queconsignments.DeliveryDepot
.OriginalL'auteur Thomas Levesque
Aussi assurez-vous que votre nom de membre sont exactement les mêmes et même affaire. Par exemple:
échoue parce qu'depot est pas le cas dans le deuxième type anonyme.
OriginalL'auteur Sameer