помочь с простым запросом linq - PullRequest
0 голосов
/ 05 августа 2009

В моей таблице есть следующие столбцы:

Пользователь (UserID, GroupID, userName, userType, ...)

Мне нужно сделать это:

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

Мой DataContext готов к работе, руководство по моему запросу LINQ было бы здорово!

Ответы [ 5 ]

0 голосов
/ 05 августа 2009

Я не уверен, что вам нужен только один результат или список. Я предполагаю, что будет найден только один, так как вы ищете по идентификатору пользователя.

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();

Если вы хотите получить список всех совпадающих строк, вы можете также сделать ToList () в конце.

Я не тестировал код, чтобы в нем могли быть некоторые опечатки, и я не был уверен, для чего нужны имена ваших переменных из вашего dbml.

0 голосов
/ 05 августа 2009
var result = from u in users
             where u.UserID == userID
             && u.UserName == userName
             select u.GroupID
0 голосов
/ 05 августа 2009
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 голосов
/ 05 августа 2009

Грубо ...

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();

Но да, возьмите linqpad

0 голосов
/ 05 августа 2009

Вам следует скачать LinqPad и подключиться к нему к вашему источнику данных. Это действительно поможет вам начать работу с LINQ. Я также предлагаю купить полную версию ($ 19) LinqPad b / c, Intellisense может действительно помочь вам в начале

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...