C# 为什么返回null?

C# 为什么返回null?,c#,entity-framework,linq-to-sql,C#,Entity Framework,Linq To Sql,我不明白我做错了什么 不为空: var workPanels = (IEnumerable)context.WorkPanels; 空值: 为什么?不应该是这样来自上下文中的wp。工作面板选择wp相当于上下文.WorkPanels.Select(wp=>wp)。Select的MS实现(/)从不返回null 其他地方一定有其他问题。这是两条不同的语句-我们需要知道您的应用程序ID您是否单步执行了代码?LINQ查询不可能为空。你确定你的意思不是枚举为空吗?或者可能枚举中的第一项为空?你能不能给我们

我不明白我做错了什么

不为空:

var workPanels = (IEnumerable)context.WorkPanels;
空值:


为什么?

不应该是这样<代码>来自上下文中的wp。工作面板选择wp相当于上下文.WorkPanels.Select(wp=>wp)
Select的MS实现(/)从不返回
null


其他地方一定有其他问题。

这是两条不同的语句-我们需要知道您的应用程序ID您是否单步执行了代码?LINQ查询不可能为空。你确定你的意思不是枚举为空吗?或者可能枚举中的第一项为空?你能不能给我们一段完整的代码,这样你的问题就清楚了?你为什么要把工作面板转换成老式的
IEnumerable
(非通用)接口?你不应该需要这种转换:
(IEnumerable)上下文。工作面板
好吧,要挑剔:Select的合理实现永远不会返回null。选择通常是一种扩展方法;有人可能已将名为Select的扩展方法添加到当前命名空间中始终返回null的静态类中。这样做是愚蠢的,但就编译器而言,这是完全合法的。@Eric:当然。我更新了我的答案,所以我说的很清楚。我奇怪地被这个问题的公认答案基本上是“你的问题是错的”这一事实逗乐了:-)@杰弗里:也许这让他找了别的地方,让他发现了真正的错误?在这种情况下,答案确实帮助了他。
var nowWorkPanels = from wp in context.WorkPanels select wp;