获取错误&#34;委托&#39; System.Func <entitytype,int,bool>不接受1个参数&#34;来自实体框架LINQ查询</entitytype,int,bool>

时间:2014-07-30 17:11:40

标签: c# linq entity-framework

我正在尝试在我的Entity Framework上下文中执行一个非常愚蠢的基本LINQ查询。它是这样的:

var query = from e in context.Entity1s.Include("Entity2")
            where e.Id == someVar.E1Id
            select e;

正如您所看到的,这是一个基本的,实际上是复制粘贴的教科书查询。但Visual Studio在'where'关键字上添加了一个红色波浪形下划线,我得到一个看起来像的构建错误:

  

委托'System.Func<Entity1, int, bool>'不接受1个参数

我无法做出正面或反面。谁能解释一下发生了什么?

1 个答案:

答案 0 :(得分:3)

经过多次半随机修补,我解决了这个问题。我不知道为什么我现在必须这样做,当我以前从未有过,而且我不完全确定为什么它在地球上修复它,或者它到底有什么用处理我遇到的错误,但我解决了这个问题:

//          --->Added This<--
var query = from Entity1 e in context.Entity1s.Include("Entity2")
           where e.Id == someVar.E1Id
          select e;

e转换为强声明类型,而不是让Visual Studio在编译时推断它的类型,就像我应该的那样。那好吧。没有大碍。没理由我永远无法宣布e的类型。

仍然让我感到不安,我没有真正解决这个问题。我的意思是,我得到了它的工作,但为什么?为什么我做的有所作为?特别是当它从未像现在这样重要时?

我在这里选择我的答案是正确的,因为它解决了这个问题,但是如果有人有信息要说明&#34;为什么它有效?&#34;方面,请留下评论。我确定我不是唯一一个愿意学习更多知识的人。