小编AEb*_*ard的帖子

Linq,OrderByDescending,First,以及邪恶的DefaultIfEmpty

希望这是一个简单的问题,我不理解基本的东西.以下是我正在处理的应用程序中的两个Linq语句.

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();
Run Code Online (Sandbox Code Playgroud)

entities.Periods是一个包含两个Period对象的集合,每个对象都有一个unique UID.

根据我理解的一切,p1和p2应该是相同的.

然而,在我的环境中,它们不是.

p1是正确的(即它等于集合中具有最大UID的Period对象).

但是,p2不正确(即它等于集合中的其他Period).

有任何想法吗?

c# linq linq-to-entities defaultifempty

6
推荐指数
1
解决办法
1213
查看次数

标签 统计

c# ×1

defaultifempty ×1

linq ×1

linq-to-entities ×1