the*_*ter 13 .net c# linq iqueryable
我做一个sql查询,它返回一个字符串 - 服务名称.这是查询:
IQueryable<string> query = from Comp in ServiceGroupdb.ServiceGroupes
where (Comp.GroupID == groupID)
select Comp.Name;
Run Code Online (Sandbox Code Playgroud)
如何从查询中获取字符串?
And*_*bel 40
LINQ总是返回一个序列,因此您必须从中检索该项.如果您知道只有一个结果,请使用Single()检索该项目.
var item = (from Comp in ServiceGroupdb.ServiceGroupes
where (Comp.GroupID == groupID)
select Comp.Name).Single();
Run Code Online (Sandbox Code Playgroud)
有四种LINQ方法可以从序列中检索单个项目:
Single() 返回该项,如果序列中有0个或多个项,则抛出异常.SingleOrDefault()返回项目,或默认值(nullfor string).如果序列中有多个项目,则抛出.First()返回第一个项目.如果序列中有0个项目则抛出.FirstOrDefault() 返回第一个项目,如果没有项目,则返回默认值)要获取查询中的第一个元素,您可以使用query.First()但如果没有元素,则会引发异常.相反,您可以使用query.FirstOrDefault()哪个将提供第一个字符串或默认值(null).因此,对于您的查询,这将工作:
var myString = (from Comp in ServiceGroupdb.ServiceGroupes
where Comp.GroupID == groupID
select Comp.Name)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
你快到了.
做就是了
IQueryable<string> query = from Comp in ServiceGroupdb.ServiceGroupes where (Comp.GroupID == groupID) select Comp.Name;
// Loop over all the returned strings
foreach(var s in query)
{
Console.WriteLine(s);
}
Run Code Online (Sandbox Code Playgroud)
或者query.FirstOrDefault()如上所述使用,因为您只能获得一个结果.
| 归档时间: |
|
| 查看次数: |
27586 次 |
| 最近记录: |