【发布时间】:2012-06-18 20:41:54
【问题描述】:
我是 linqpad 和 C# 的新手。 我希望在 odata 中获取以“ic”开头的 id 列表。 我尝试了 SqlMethods.like 并得到了这个错误。 "当前上下文中不存在名称 'SqlMethods'"
下面是查询
from id in Products
where SqlMethods.Like(id.ProductId, "IC%")
select id
请帮忙。找不到解决办法
【问题讨论】:
-
您的语言是否设置为 C# 语句?我运行了类似的东西(一般语法),它对我来说很好
-
没有。我正在使用 C# 表达式。当我使用 C# 语句时,我需要将代码更改为“var query = from id in Products where SqlMethods.Like(id.ProductId, "IC%") select id; Console.WriteLine(query);”仍然得到同样的错误
-
您确定您的 SqlMethods 拼写完全正确 与您的示例代码一样吗?如果您使用完全限定名称,即 System.Data.Linq.SqlClient.SqlMethods 有什么不同吗?
-
是的,我确实拼写正确并尝试了完全限定的名称。我现在遇到的错误是“无法执行文本选择:‘System.Data’是一个‘命名空间’,在给定的上下文中无效当前上下文中不存在名称‘Linq’”
-
当您使用 OData 连接时,LINQPad 不会自动导入“System.Data.Linq.* 命名空间;因此会出现错误。当然,SqlMethods 类无论如何都不能与 OData 一起使用,因为人们已经指出。
标签: sql operator-keyword sql-like linqpad