2011-05-16 58 views
0

我可以用linqer转换此查询。使用LINQER将SQL查询转换为LINQ时出现错误

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:字段[子] [PK#Shenase]不在当前数据上下文找到。

如果没有办法通过这个错误,那么你能告诉我它的LINQ是否相等?

+0

你能告诉我“v#gharardad”中的#是什么意思吗? – 2011-05-16 12:10:41

+1

为什么#里面有这个名字? – 2011-05-16 12:12:47

+2

也许有点偏离主题,但为什么你会在表格或视图名称中加入'#'? – Yuck 2011-05-16 12:13:28

回答

3

#字符似乎被LINQ设计者翻译为_

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

+0

linqer无法识别[sub]你的回答真的是错误的。但是,谢谢你的努力 – Saleh 2011-05-16 12:21:44

+0

正如你看到它不是一个linq查询,它是sql查询 – Saleh 2011-05-16 12:22:18

+0

有时我想我可以在我的变量名称中使用unicode字符,为什么c#不要让我在变量名中使用#字符 – Saleh 2011-05-16 12:24:22