【问题标题】:var keyword not working in LINQPad 4var 关键字在 LINQPad 4 中不起作用
【发布时间】:2011-10-24 22:42:16
【问题描述】:

我正在尝试在 LINQPad 中以 C# 程序或 C# 语句的形式运行一个简单的代码:

var query = dbtable.Where(f => f.date== new DateTime(2011,10,18));
fd.Dump();

我收到以下错误:

无法将类型“System.Linq.IQueryable”隐式转换为“LINQPad.User.var”。存在显式转换(您是否缺少演员表?)

在你问之前:不,我没有创建“var”类型。

有人知道吗?

【问题讨论】:

  • 回答我自己的问题:它刚刚意识到我正在查看的数据库中的 200 多个表之一称为“var”。 LinqPad 自动创建一个“var”类型。
  • 我们实际上考虑在这种情况下向编译器添加一个警告——当它可能与名为“var”的类型不明确时,你使用“var”——但后来决定不,它不是值得付出努力,因为没有明智的人会遇到这个问题。我想要么我们错了,要么你不是一个明智的人。 :-)
  • 我认为自己是一个明智的人。不幸的是,我不能对设计我正在查看的数据库的人说同样的话:)
  • @ThomasMaterna,我认为您应该将您的评论写为实际答案。然后你就可以接受了。
  • 默认情况下,LINQPad 将表的类型名称大写(这样可以防止出现此类问题)。大概您在连接属性中禁用了大写?

标签: c# linqpad var


【解决方案1】:

回答我自己的问题:

它刚刚意识到我正在查看的数据库中的 200 多个表之一称为“var”。 LinqPad 自动创建一个“var”类型。

正如 Joe Albahari 所说,发生这种情况是因为“大写属性名称”已关闭。谢谢乔。

【讨论】:

    猜你喜欢
    • 2020-02-28
    • 2021-11-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 2010-11-15
    相关资源
    最近更新 更多