2009-08-05 10 views
0

Ma table a les colonnes suivantes:aide simple requête LINQ

utilisateur (UserID, GroupID, userName, usertype, ...)

que je dois faire ceci:

SELECT GroupID 
FROM Users 
WHERE userID = @userID AND username = @username and usertype = @usertype. 

J'ai mon DataContext prêt à partir, les conseils sur ma requête LINQ seraient super!

Répondre

0

Vous devez télécharger LinqPad et vous connecter à votre source de données avec. Cela va vraiment vous aider à démarrer avec LINQ. Je suggère également acheter la version complète (19 $) de LINQPad b/c l'IntelliSense peut vraiment vous aider au début

0
int UserID = [code to get userID], 
    Usertype=[code to get usertype]; 
string Username=[code to get username]; 

from u in Users 
where u.userID = UserID 
    && username=Username 
    && usertype=Usertype 
select u.GrupID; 
0

En gros ...

int ID = 1; 
string uname = "whatever"; 
string utype = "whatever" 

User myUser = (from u in Users where u.userID == ID && u.username == uname && u.usertype == utype select u).SingleOrDefault(); 

Mais oui, prenez LINQPad

0
var result = from u in users 
      where u.UserID == userID 
      && u.UserName == userName 
      select u.GroupID 
0

Je ne suis pas sûr si vous vouliez juste un résultat ou une liste. Je suppose qu'un seul sera trouvé puisque vous recherchez un userID.

string userID = "Your user ID here"; 
string userName = "Your username here"; 
string userType = "Your usertype here"; 
var groupID = (from user in dataContext.Users 
       where user.UserID == userID && 
        user.UserName == userName && 
        user.UserType == userType 
       select user.GroupID).FirstOrDefault(); 

Si vous voulez une liste de toutes les lignes qui correspondent, vous pouvez faire un ToList() à la fin aussi.

Je n'ai pas testé le code de sorte qu'il pourrait avoir quelques fautes de frappe et je ne savais pas à quoi servaient vos noms de variables de votre dbml.

+0

@mrblah Si cette réponse ou une autre vous a aidé, vous devez définir une réponse acceptée afin que les autres personnes qui lisent cette question puissent trouver la solution qui vous a aidé. – Kelsey