我有這樣的代碼來尋找樹的根節點:爲什麼在這個linq查詢中不使用可空的Guid工作?
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();
感謝 - 我會改變的代碼,以避免對可空的Guid – woggles 2011-12-28 08:22:08
過濾它仍然不是固定的EF 6.1.3。如果它被修復了,它會再次被破壞。 – David 2016-10-25 13:37:23