我有以下代码。最后的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;
}
}
答案 0 :(得分:8)
userGroups.FirstOrDefault();
应该做的伎俩
答案 1 :(得分:2)
您有两种选择:
如果可能有多个值并且您只对第一个感兴趣
,请使用userGroups.FirstOrDefault();
如果只有一个值,请使用userGroups.SingleOrDefault();
。如果有多个值,则抛出异常。
OrDefault
部分也是可选的。如果没有值,这将返回默认值(在您的情况下为null
)。如果您遗漏OrDefault
且集合为空,则会抛出异常。