我有这样的代码来寻找树的根节点:为什么在这个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