Nullable int无法在LINQC#中按预期方式工作

问题描述

| 以下工作正常(LINQ到实体):
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是可为null的int。这很容易解决,但这令我感到困惑。谁能阐明任何想法?     

解决方法

您绝对不是第一个观察到此有趣行为的人。 http://connect.microsoft.com/data/feedback/details/607404/entity-framework-and-linq-to-sql-incorrectly-handling-nullable-variables 简而言之,很难处理表达空值的不同方式。