Hy vọng rằng đây là một vấn đề đơn giản của tôi không hiểu cái gì cơ bản. Dưới đây là hai câu lệnh LINQ từ một ứng dụng tôi đang làm việc.LINQ, OrderByDescending, Đầu tiên, và DefaultIfEmpty bất chính
EDMXModel.Classes.Period p1 = entities.Periods.DefaultIfEmpty(null).OrderByDescending(ap => ap.UID).First();
EDMXModel.Classes.Period p2 = entities.Periods.OrderByDescending(ap => ap.UID).DefaultIfEmpty(null).First();
entity.Periods là tập hợp chứa hai đối tượng Period, mỗi đối tượng có unique UID
.
Theo mọi thứ tôi hiểu, p1 và p2 phải giống nhau.
Tuy nhiên, trong môi trường của tôi thì không.
p1 là chính xác (tức là nó bằng với đối tượng Period có UID lớn nhất trong tập hợp). Tuy nhiên,
p2 không đúng (nghĩa là nó bằng với khoảng thời gian khác trong tập hợp).
Bất kỳ ý tưởng nào?