Joindre deux tables dans Linq to SQL
Peut-être une assez facile, mais je suis nouveau dans Linq to SQL. J'ai deux tables
User : UserId,name,Password,Email
USER_TABLE: Id, UserId, FirstName,LastName......
Je voudrais une requête qui donne par exemple: userID=3
puis donner tous les détails (FirstName,LastName etc)
Comment puis-je joindre ces deux tableaux? Je préfère C#
code si c'est possible!
OriginalL'auteur dali1985 | 2011-03-22
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas à faire toute la plomberie vous-même. Si vous avez le droit de clés étrangères dans la base de données, vous n'aurez pas à se joindre à vous.
Il vous suffit de faire:
tu veux dire différé de chargement, mais non, ce n'est pas vrai. Si vous utilisez un select new {} comme ce qu'il va faire exactement une jointure. Toutefois, si vous souhaitez faire un foreach sur l'Utilisateur, puis de référence à l'intérieur de la boucle foreach l'UserTables vous obtenez différé de chargement (1+100). Cependant, cela peut être contrôlé à l'aide de LoadOptions
Oui - d'accord - j'ai eu soin de dire "peut-être" et dire que l'on peut éviter par l'intermédiaire de "plomberie" - mais j'aurais pu être plus clair et plus explicite, désolé.
pas de problème... je viens de voir beaucoup de gens qui écrivent "SQL avec la syntaxe Linq" au lieu de vraiment l'aide de Linq-2-sql de la façon dont je pense qu'il devrait être utilisé.
OriginalL'auteur Pleun
pour une jointure interne, utilisez quelque chose comme:
Si vous ne voulez pas d'elle comme d'une FK (ce qui est assez inhabituel!) ensuite, vous pouvez simplement utiliser un
from ut in db.UserTables where u.Userid == ut.Userid
à la place.OriginalL'auteur Stuart
Comme ceci peut-être:
Je suppose que ton exemple est juste un exemple, droit? Cause il n'a pas beaucoup de sens à diviser les données dans deux tables.
Nous le savons tous, ce un bon exemple de l'ingénierie logicielle 🙂
OriginalL'auteur Mikael Östberg
Il est possible de joindre des tables à l'aide de linq:
E. g :
Ce qui concerne
OriginalL'auteur Crimsonland