我有一个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中的一个错误.请参阅下面的答案了解详情.