问题描述
|
以下工作正常(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
简而言之,很难处理表达空值的不同方式。