繁体   English   中英

FirstOrDefault LINQ 查询有条件

[英]FirstOrDefault LINQ query with condition

我是 linq 查询的新手,想在我现有的 LINQ 查询中使用FirstOrDefault

List<vUserAll> employee = (from o in db.vUsersAll
  where (o.sAMAccountName == modifiedAccountName || o.CN == modifiedAccountName) && o.Domain == "dExample"  
  select o).ToList();

这样做的正确方法是什么?

谢谢。

如果是上面提到的情况,那么你可以使用如下的labmda

var firstOrDefaultResult = db.vUsersAll.Where(o=> 
(o.sAMAccountName == modifiedAccountName || o.CN == modifiedAccountName) 
&& o.Domain == "dExample").FirstOrDefault() 

如果您想使用相同的上述表达式,

vUserAll employee = (from o in db.vUsersAll
  where (o.sAMAccountName == modifiedAccountName || o.CN == modifiedAccountName) && o.Domain == "dExample"  
  select o).FirstOrDefaul();

如果您只使用 linq 扩展,这会容易得多。 例如

var filtered = all users.Where(u => u. Field == filter).FirstOrDefault();

这可以进一步简化为:

var filtered = db.vUsersAll.FirstOrDefault(u => u. Field == filter);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM