【问题标题】:Linqer dont Convert T-Sql queryLinqer 不转换 T-Sql 查询
【发布时间】:2012-03-05 14:25:04
【问题描述】:

我使用 linqer 想要这个 sql 来 liqn 查询,但我有问题

 select * from Project where Id in (select Top 3 ForeignId from ActivityLog
 group by ForeignId order by count(*) desc)

问题:SQL 无法转换为 LINQ:在当前数据上下文中找不到字段 [Id in (select Top 3 ForeignId from ActivityLog group by ForeignId order by count(*) desc)]。

【问题讨论】:

  • 您能否提供更多信息,例如。您的源代码不起作用?
  • 这是不言自明的吗?在当前数据上下文中找不到 ID
  • 我从对 DataContext 的引用中假设这是 Linq to SQL。您发布的内容似乎不是 Linq 查询,而是原始 SQL。尝试发布调用查询的实际 C# 代码。
  • 您的 DataContext 的声音如何?您可以一次性编写 linq 查询来获取项目和活动日志吗?无论如何,最好根据 DataContext 中的类开始表达您的编程任务,从而精通 linq。

标签: c# linq linqer


【解决方案1】:

我刚刚遇到了与 linqer 类似的问题。我发现解决方案是删除 ;在 SQL 查询之后再试一次。

这可能是您的上下文的问题。
有关设置上下文的说明,请参阅 Linqer – a nice tool for SQL to LINQ transition
此外,请确保 *.dbml 和 *.designer.cs 文件是最新的,并定义 Project 表以包含 Id 列和 ActivityLog 表以包含 ForeignId 列。

这可能是您使用的 linqer 版本的错误。我使用的是 4.0.3,并且能够毫无问题地运行相同的查询(调整为使用我的表)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多