【发布时间】:2011-04-13 12:40:08
【问题描述】:
我有一个简单的 linq to sql 查询,但由于某种原因 .take() 不起作用。我尝试添加 skip() 并认为它可能需要从哪里获取记录,但结果仍然相同,而不是只获取 10 条记录,而是获取所有 240 条记录。
如果有人能告诉我发生了什么,我将不胜感激。提前致谢。
代码是:
var types = (from t in EventTypes.tl_event_types
select new
{
type_id = t.event_type_id,
type_name = t.type_name
}).Take(10);
【问题讨论】:
-
查看代码,您所描述的没有意义。你能把这个sn-p后面的代码贴出来吗?
-
将其置于调试模式并将鼠标悬停在查询上,它应该会告诉您它正在执行的 SQL,并且应该指出问题。
-
我将您的代码复制并粘贴到 LinqPad 中并将实体更改为我拥有的实体,它返回了 10 条记录,而不是我表中的 5k 条记录
-
怎么说它返回240条记录,上面显示的这段代码实际上并没有执行查询。您可以尝试将您的查询转换为列表 types.ToList() 然后找出数字记录
标签: c# asp.net linq linq-to-sql