2013-09-27 6 views
0

я выбрал бы на нескольких условияхГде и пункт Entity Framework

я знаю, что я могу выбрать, используя эту инструкцию

var session = (from us in context.UserSessions 
       where us.UserId == dbUser.Id 
       select us).FirstOrDefault(); 

, но я хотел бы сделать что-то вроде этого

var session = (from us in context.UserSessions 
       where us.UserId == dbUser.Id 
       and us.somefield == somevalue 
       select us).FirstOrDefault(); 

но ключевое слово и не определено

ответ

3

Не позволяйте синтаксиса запроса обмануть вас :) - это C#, так and еще &&:

var session = (from us in context.UserSessions 
      where us.UserId == dbUser.Id 
      && us.somefield == somevalue 
      select us).FirstOrDefault(); 

В качестве альтернативы, это может быть более сжато выражена в синтаксисе лямбда (и вы можете отказаться от избыточных Select и Where положения, если вы используете FirstOrDefault overload, который принимает предикат):

var session = context 
     .UserSessions 
     .FirstOrDefault(us => us.UserId == dbUser.Id && us.somefield == somevalue); 
+0

+1 для чистейшего синтаксиса метода. – NinjaNye

0
var session = (from us in context.UserSessions 
       where us.UserId == dbUser.Id 
       && us.somefield == somevalue 
       select us).FirstOrDefault(); 
+0

Кодовые только ответы, как правило, не рекомендуется. Пожалуйста, объясните свой ответ. – RedEyedMonster

Смежные вопросы