linq - Linq Take()问题

标签 linq linq-to-sql

我想过滤我的结果以仅记录X条记录。我想知道Take()如何工作?

在此站点上,我发现:http://www.hookedonlinq.com/TakeOperator.ashx

它说Take()“如果source为null,则引发ArgumentNullException。”所以我该怎么做?我不能保证每次我执行Take()时都会在该表中有一些记录。

那我首先必须做一个计数吗?然后执行另一个查询以确保有一些记录要获取吗?

如果我有一个Take(2)但只有1条记录会抛出同样的异常,还会发生什么呢?

最佳答案

空引用和空集合之间有区别。最好将Take调用为空集合。并且参数指定了一个最大数量,因此也可以指定大于集合中项目的数量。

我建议引用MSDN以获得此类的详细信息。

对于Linq to Objects:http://msdn.microsoft.com/en-us/library/bb503062.aspx

对于链接到数据库:http://msdn.microsoft.com/en-us/library/bb300906.aspx

关于linq - Linq Take()问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1364033/

相关文章:

c# - 创建 LINQ 实体类时损坏 POCO 域模型?

c# - 在 Entity Framework 中使用数学函数和 mysql

linq - 使用复杂的映射将表达式树从一种类型转换为另一种类型

Linq表达式 : How do I get the value from comparison evaluation

c# - LINQ to SQL - 为什么不能在 ORDER BY 之后使用 WHERE?

linq-to-sql - 有什么方法可以提高 Linq-To-SQL 的性能?

c# - 带有 resultselector 重载的 Linq GroupBy 方法有什么用?

c# - 关于 IEnumerable 的延迟执行

c# - 使用 Linq 查询连接两个字段

c# - 我如何说服 Linq to Sql 生成 Sql 来比较大于或小于的字符串?