如何使用Linq to Entities从此集合中获取第一个值?

时间:2011-12-06 15:22:24

标签: c# linq entities

我有以下代码。最后的foreach是不必要的,因为只返回一行。

那么如何在不必循环的情况下从userGroups中获取值?

由于 凯文

using (kdEntities db = new kdEntities())
        {
            Label lbl = sender as Label;
            IQueryable<UserGroup> userGroups = from UserGroup in db.UserGroups where UserGroup.UgpID == 1 select UserGroup;

            foreach (var group in userGroups)
            {
                lbl.Text = group.UgpDescription;
            }
        }

2 个答案:

答案 0 :(得分:8)

userGroups.FirstOrDefault();  

应该做的伎俩

答案 1 :(得分:2)

您有两种选择:

如果可能有多个值并且您只对第一个感兴趣

,请使用userGroups.FirstOrDefault();

如果只有一个值,请使用userGroups.SingleOrDefault();。如果有多个值,则抛出异常。

OrDefault部分也是可选的。如果没有值,这将返回默认值(在您的情况下为null)。如果您遗漏OrDefault且集合为空,则会抛出异常。