Почему в этом запросе linq не работает использование Guid, допускающего значение NULL?

У меня есть этот код для поиска корневого узла дерева:

Guid? currentNode = null; 
var root = db.RecursiveTrees.Where(x => x.ParentId == currentNode).ToList();

Этот запрос возвращает 0 результатов.

Если я выполню этот запрос, я получу ожидаемую строку:

var root = db.RecursiveTrees.Where(x => x.ParentId == null).ToList();

Почему не работает первый запрос (с использованием последней версии структуры сущностей)?

РЕДАКТИРОВАТЬ:

Обходной путь:

List<RecursiveTree> root;
if (nodeid == null)
   root = db.RecursiveTrees.Where(x => x.ParentId == null).ToList();
else
   root = db.RecursiveTrees.Where(x => x.ParentId == new Guid(nodeid)).ToList();     
5
задан woggles 28 December 2011 в 08:32
поделиться