【问题标题】:Basic and simple linq to sql, not sure what's wrong基本和简单的 linq to sql,不知道出了什么问题
【发布时间】: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


【解决方案1】:

我假设通过命名约定 EventTypes 是您的对象。你需要从你的数据上下文中选择......所以

var types = (from t in dataContext.EventTypes.tl_event_types
                    select new
                    {
                        type_id = t.event_type_id,
                        type_name = t.type_name
                    }).Take(10);

应该可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2019-11-12
    相关资源
    最近更新 更多