c#LINQ查看一个IsingResult返回多少行帮助!

c#LINQ查看一个IsingResult返回多少行帮助!,c#,C#,Hi am将ISingResult与存储过程一起使用。 如果Isingler是空的或不是空的,我如何签入C。因为有时SP不返回任何内容,有时is返回数据 是否仍要确定IsingResult包含多少行。 感谢您的帮助。您可以将结果转换为列表(使用LINQ方法)或数组(使用),然后从中检查计数/长度 ISingleResult result = db.CustomersByCity("London"); // check the result return

Hi am将ISingResult与存储过程一起使用。 如果Isingler是空的或不是空的,我如何签入C。因为有时SP不返回任何内容,有时is返回数据

是否仍要确定IsingResult包含多少行。
感谢您的帮助。

您可以将结果转换为列表(使用LINQ方法)或数组(使用),然后从中检查计数/长度



    ISingleResult result =
        db.CustomersByCity("London");
    // check the result
    return (result != null && result.count() > 0) 

List<T> result = YourStoredProcedureCall().ToList();

if (result.Count > 0) 
{
    // Deal with results here
}
编辑注释:


我最初建议直接在ISingleResult结果上使用该方法,但这很可能会导致一个异常,即“查询结果不能被多次枚举”。如果您尝试再次枚举ISingleResult,则会出现该异常。首先将其转换为数组或列表可避免出现该异常。从该异常开始,您仍然可以使用数组/列表上的y(),或者您可以直接计算Count或Length属性,如代码示例所示。

这将引发异常,因为您已将枚举数与
结果一起使用。Any()
。而是在选中null后将其转换为
ToList()
,然后使用
Any()
然后获取数据。或者可能会收到异常“查询结果不能被多次枚举。”“谢谢vendettamit!是的,调用Any()后,结果很可能无法使用。我修改了代码示例和答案详细信息以反映这一点。
using System.Linq;