0

我会在多个条件下选择

我知道我可以选择使用这个语句

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

但 and 关键字无法识别

4

2 回答 2

3

不要让查询语法欺骗你 :) - 它是 C#,and仍然是&&

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

或者,这可以用 Lambda 语法更简洁地表达(如果您使用带有谓词的重载Select,则可以删除多余的and子句):WhereFirstOrDefault

var session = context
       .UserSessions
       .FirstOrDefault(us => us.UserId == dbUser.Id && us.somefield == somevalue);
于 2013-09-27T13:38:08.393 回答
0
var session = (from us in context.UserSessions
               where us.UserId == dbUser.Id
               && us.somefield == somevalue
               select us).FirstOrDefault();
于 2013-09-27T13:36:16.087 回答