相关疑难解决方法(0)

LINQ to SQL Take w/o Skip导致多个SQL语句

我有一个LINQ to SQL查询:

from at in Context.Transaction
select new  {
    at.Amount,
    at.PostingDate,
    Details = 
        from tb in at.TransactionDetail
        select new {
            Amount = tb.Amount,
            Description = tb.Desc
        }
}
Run Code Online (Sandbox Code Playgroud)

这导致执行一个SQL语句.一切都很好.

但是,如果我尝试从此查询返回已知类型,即使它们具有与匿名类型相同的结构,我会为顶级执行一个SQL语句,然后为每个"子"集创建一个额外的SQL语句.

有没有办法让LINQ to SQL发出一个SQL语句并使用已知类型?

编辑:我必须有另一个问题.当我将一个非常简单(但仍然是高阶段)的查询版本插入LINQPad并使用新创建的已知类型只有2或3个成员时,我确实得到了一个SQL语句.当我知道更多时,我会发布和更新.

编辑2:这似乎是由于Take中的一个错误.请参阅下面的答案了解详情.

linq sql-server linq-to-sql

7
推荐指数
1
解决办法
4986
查看次数

标签 统计

linq ×1

linq-to-sql ×1

sql-server ×1