Ho questo codice per trovare il nodo radice di un albero:Perché in questa query di linq non funziona un Guid nullable?
Guid? currentNode = null;
var root = db.RecursiveTrees.Where(x => x.ParentId == currentNode).ToList();
questa query restituisce 0 risultati.
Se corro questa domanda ho la fila atteso tornato:
var root = db.RecursiveTrees.Where(x => x.ParentId == null).ToList();
Perché non è la prima opera di query (utilizzando l'ultima versione di Entity Framework)?
EDIT:
Soluzione:
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();
grazie - cambierò il codice per evitare il filtraggio sulla nullable Guid – woggles
Non è ancora stato risolto nel EF 6.1.3. Se è stato riparato, è di nuovo rotto. – David