C# Linq to实体无法识别我的实体类型

C# Linq to实体无法识别我的实体类型,c#,.net,linq,linq-to-entities,C#,.net,Linq,Linq To Entities,我在从头创建实体模型时遇到问题。我成功地设计了我的对象并生成了数据库创建。但是当我试图提出linq请求时,比如 var t = from e in entity.UsersSet where e.Id == 1 select e; 似乎我的“e”变量未被识别为用户对象,而我的UsersSet属性是ObjectSet类型。 如果我在“e.Id”处停止输入表达式,VS会警告我: 参数类型“lambda expression”不可分配给参数类型“string” 我真的

我在从头创建实体模型时遇到问题。我成功地设计了我的对象并生成了数据库创建。但是当我试图提出linq请求时,比如

var t = from e in entity.UsersSet
        where e.Id == 1
        select e;
似乎我的“e”变量未被识别为用户对象,而我的UsersSet属性是ObjectSet类型。 如果我在“e.Id”处停止输入表达式,VS会警告我:

参数类型“lambda expression”不可分配给参数类型“string”


我真的不明白为什么它会给我这个错误。我检查了另一个项目,它运行良好。也许我错过了一个参考资料或什么……有什么想法吗?

如果你是某个用户,那么设置是一组
用户
实例,你可以尝试一下

var t = from User e in entity.UsersSet
        where e.Id == 1
        select e;

这有点晚了,但我只是用谷歌搜索了这个确切的问题(并在这里结束)


我发现上面的解决方案确实解决了这个问题,但也可以通过在顶部添加“using System.Linq;”来解决这个问题。

您是否尝试了变量的另一个名称。
UsersSet
是如何声明的?
Id
如何声明?全部由实体引擎生成。我刚刚用集成在VisualStudio中的设计器设计了这些类。是的,我尝试了另一个名称,它似乎没有改变任何东西问题被标记为linq到实体-如果
UsersSet
确实是一个实体,你的答案不会改变任何东西,因为它已经是强类型的,如果不是,即使您尝试强制转换也不会起作用-总结:我不知道这会有什么帮助。@BrokenGlass如果用户设置为非泛型集合,e将是object类型,并且必须显式声明其中元素的类型。哇……问题解决了。这太愚蠢了。。。事实上,我只是错过了一个系统。Linq使用VS没有提醒我。真幸运,我有一个resharper,在我尝试强输入引用时发现了问题。所以我接受你的回答,因为它帮助了我!