LINQ joindre deux tables
J'ai deux tables de dire A et B.
Un cols sont GUID, someintVar, someMoreIntvar
B col sont GUID, someItemNO, SomeItemDesc
Maintenant pour un GUID, je vais avoir une seule ligne dans la Table A. Mais je peux avoir plusieurs lignes pour le même GUID.
Maintenant, je veux interroger la base de données GUID et sélectionner des valeurs dans une classe.
Cette classe aura une liste qui contiendra les différentes lignes à venir à partir de la deuxième table.
Comment puis-je le faire?
Droit Maintenant, je reçois de nombreux éléments dans le résultat basé sur combien de lignes sont là, dans le deuxième tableau pour ce GUID.
var itemColl = from p in db.A
join item in db.B on p.CardID equals item.CardID
where p.CardID == "some GUID"
select new
{
p.CardID,
p.secondCol,
p.ThirdCol,
item.ItemNo //How to add them in a collection or list.
};
OriginalL'auteur Tanmoy | 2009-03-04
Vous devez vous connecter pour publier un commentaire.
Unested, mais comment à propos de la ré-écriture un peu:
Sinon, vous pouvez peut-être en groupe...
Il est de retour Système.Les Collections.Génériques.Liste j'en ai besoin pour avoir une Liste<B>
il suffit de retirer le .Sélectionnez(b=>b.ItemNo) et le type de Liste<B>
Désolé, je me suis basé que sur le "le point.ItemNo", dans la dernière Sélectionnez - il suffit de retirer le Sélectionner
L'a obtenu. 🙂 Merci beaucoup
OriginalL'auteur Marc Gravell
En supposant que vous avez une relation de clé étrangère mis en place entre A et B sur GUID. (Et si vous n'avez pas à vous db schéma est cassé et doit être réparé)
OriginalL'auteur James Curran
En supposant que cela se passe dans la NOUVELLE ou de la méthode de CHARGEMENT de votre classe...c'est la façon dont je le ferais...
OriginalL'auteur Stephen Wrighton