Nullable int在LINQ(C#)中没有按预期工作

时间:2011-04-12 18:41:49

标签: c# linq entity-framework linq-to-entities

以下按预期工作(LINQ to Entities):

var topics = (from t in ctx.Topics where t.SubjectId == subjectId && t.ParentId == null select new { t.Title, t.Id }).ToList();

但是,以下内容不会返回任何内容:

int? parent = null;
var topics = (from t in ctx.Topics where t.SubjectId == subjectId && t.ParentId == parent select new { t.Title, t.Id }).ToList();

Topic.ParentId是一个可以为空的int。这很容易解决,但这让我很困惑。任何人都可以放弃任何光明吗?

1 个答案:

答案 0 :(得分:4)

你绝对不是第一个观察这个......有趣......行为的人。

http://connect.microsoft.com/data/feedback/details/607404/entity-framework-and-linq-to-sql-incorrectly-handling-nullable-variables

简而言之,很难处理表达null的不同方式。