2010-10-13 3 views
1

J'ai une liste <> de numéros de téléphone et j'essaie de joindre cela avec les enregistrements correspondants dans la table DB et obtenir un numéro de commande et un ID client. Aussi la liste a le nombre entier comme une chaîne et le DB l'a cassé au code régional, au préfixe, au nombre chacun en tant que champs séparés. Je suis assez nouveau à LINQ, donc c'est un au-delà de ce que je sais actuellement. Toutes les suggestions sont grandement appréciées.Comment comparer la liste <String> à la table DB en utilisant LINQ

var tnbrs = new List<string>(); 

ont essayé:

var tntable = tnbrs.Cast<DataSet>(); 

    var tntable = tnbrs.AsQueryble();<code> 

    var custdata = from c in db.CUSTs 
       join t in tntable on c.NPA + c.NXX + c.LINE_NBR equals t.??? 
       select new { c.PON, c.PartnerID }; 
+0

merci Ramesh, j'essayais de l'éditer, mais vous m'avez battu. Merci! – Pete

Répondre

1

Vous ne devez pas jeter tnbrs DataSet essayer au lieu

var custdata = from c in db.CUSTs 
       where tnbrs.Contains(c.NPA + c.NXX + c.LINE_NBR) 
       select new { c.PON, c.PartnerID }; 

Il génère quelque chose comme requête SQL ce

SELECT [t0].[PON], [t0].[PartnerID] 
FROM [dbo].[CUSTs ] AS [t0] 
WHERE [t0].[NPA]) + [t0].[Nxx] + [t0].[LINE_NBR] IN (@p0, @p1) 
+0

Ramesh ... merci! Cela fonctionne. – Pete

+0

Je suis content que cela a aidé .. :) – RameshVel

+0

J'ai un problème avec cela maintenant. Im obtenir une erreur SQL indiquant erreur près de 0. Après avoir utilisé un visualiseur Linq to SQL, le problème est lorsque Visual Studio assigne les numéros dans la liste aux paramètres. Il va attribuer les 10 premiers juste, mais une fois qu'il a atteint le 11ème, il saute au numéro de l'index 1 et assigne le même nombre 10 fois aux différents paramètres, mais en ajoutant un dernier chiffre (0-9) pour faire chacun unique, il se déplace ensuite vers le numéro à l'index 2 et procède à attribuer ce même nombre plusieurs fois, il court réellement à la fin des params. Qu'est-ce qui se passe ici? – Pete

Questions connexes