【问题标题】:Error While Convert SQL query to LINQ With LINQER使用 LINQER 将 SQL 查询转换为 LINQ 时出错
【发布时间】:2011-05-16 12:03:48
【问题描述】:

我可以用 linqer 转换这个查询。

select * 
from v#gharardad 
inner join (select FK#GharardadeAsli, Max(PK#Shenase) as PK#Shenase, Max(TarikheSabt) as TarikheSabt 
            from TBL#Gharardad 
            where FK#GharardadeAsli is not null 
            group by FK#GharardadeAsli
            ) sub on sub.PK#Shenase = v#gharardad.[Shenase]

错误:>SQL 无法转换为 LINQ:字段 [sub].[PK#Shenase] 在当前数据上下文中找不到。

如果没有办法传递这个错误,你能告诉我它的 LINQ 相等吗?

【问题讨论】:

  • 你能告诉我“v#gharardad”中的#是什么意思吗?
  • 可能有点跑题了,但为什么要在表或视图名称中包含“#”?
  • 是的,我知道,但我打算亲自帮助您
  • 但这真的很糟糕。你最好不要使用#,因为 ef 会将其转换为 _ 并且 nHydrate 会导致错误与#.我猜。

标签: c# .net sql linq linq-to-sql


【解决方案1】:

# 字符似乎被 LINQ 设计器翻译成 _

尝试创建临时视图,将所有# 替换为_。然后再次在 Linqer 中运行查询,它可能会工作。

【讨论】:

  • linqer 无法识别 [sub] 您的答案确实是错误的。但感谢您的努力
  • 如您所见,它不是 linq 查询,而是 sql 查询
  • 有时我认为我可以在变量名中使用 unicode 字符,那么为什么 c# 不允许我在变量名中使用 # 字符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 2021-12-11
相关资源
最近更新 更多