【问题标题】:Help understanding LINQ expression帮助理解 LINQ 表达式
【发布时间】:2011-05-09 10:26:39
【问题描述】:

您好,我正在尝试调试一些代码,但无法弄清楚它在做什么。

// For reference, the following is roughly equivalent to:
// select   p.* 
// from     CTBEquitiesFiles as o inner join CTBEquitiesDetailStaging as p 
// on       o.ID = p.CTBEquitiesFiles.ID
// where    o.SEFileDate = fileDate and o.SEFileType = 'W'

mdovar depositRows = fileRepo.Query(o => o.SEFileDate == fileDate && o.SEFileType.Equals("D"))
    .Join<SE.TradeDetailFile, SE.TradeDetailStaging, int, SE.TradeDetailStaging>(
        detailRepo.Get(),
        o => o.ID,
        p => p.CTBEquitiesFiles.ID,
        (o, p) => p);

我很确定它没有做我想做的事。我想从 CTBEquitiesFilesDetailsS​​taging 中获取所有行,其中 SEFileID 列与 CTBEquitiesFiles 中的 ID 列相同。

谢谢

【问题讨论】:

  • 如果它没有达到您的预期,您必须告诉我们它正在在做什么。我们无法运行您的代码来查看发生了什么。此外,o.SEFileType = 'W' 应该使用“D”而不是“W”。
  • @Gabe:我认为 OP 想知道调试查询中的代码。
  • @Gabe:我不同意你的建议,我认为o.SEFileType.Equals("D")) 节目有一个“W”插入“D”:)

标签: sql linq linq-to-sql .net-3.5 join


【解决方案1】:

如果您想查看正在向数据库发出哪些查询,可以use the sql profilerset the DataContext.Log property

【讨论】:

    猜你喜欢
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多