tôi có mã này để tìm nút gốc của một cây:Tại sao không sử dụng một công việc Guid nullable trong truy vấn LINQ này?
Guid? currentNode = null;
var root = db.RecursiveTrees.Where(x => x.ParentId == currentNode).ToList();
Truy vấn này trả về 0 kết quả.
Nếu tôi chạy truy vấn này tôi nhận được hàng dự kiến sẽ trở lại:
var root = db.RecursiveTrees.Where(x => x.ParentId == null).ToList();
Tại sao không phải là công việc truy vấn đầu tiên (sử dụng phiên bản mới nhất của khuôn khổ tổ chức)?
EDIT:
Cách giải quyết:
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();
cảm ơn - Tôi sẽ thay đổi mã để tránh lọc trên nullable Guid – woggles
Nó vẫn không cố định trong EF 6.1.3. Nếu nó đã từng được sửa, nó lại bị hỏng. – David