gpt4 book ai didi

c# - 如何判断 IQueryable 是否为 IOrderedQueryable?

转载 作者:可可西里 更新时间:2023-11-01 08:20:10 24 4
gpt4 key购买 nike

我有一个 IQueryable。我没有对其调用 OrderBy 或以其他方式对其进行任何操作。

如果我这样做:

// for some reason, isItOrdered is always true
var isItOrdered = myQueryable is IOrderedQueryable<T>

为什么总是这样? (似乎不应该。)而且,更重要的是,我如何判断 IQueryable 是否已被订购? (即确实是一个 IOrderedQueryable)

我希望能够做这样的事情:

if (myQueryable is IOrderedQueryable<T>)
myQueryable = myQueryable.ThenBy(...);
else
myQueryable = myQueryable.OrderBy(...);

最佳答案

您还没有说明是什么创建了您的可查询对象,但也许它是以某种方式自然排序的?

你得到的确实检查它是否真的是IOrderedQueryable<T> - 我怀疑只是您的查询提供程序总是提供了一个有序的可查询,即使顺序不明显。

编辑:好的,您可以尝试其他方法:

if (typeof(IOrderedQueryable<T>).IsAssignableFrom(myQueryable.Expression.Type))

... 或者一般来说,打印出 myQueryable.Expression.Type看看它长什么样子。

关于c# - 如何判断 IQueryable 是否为 IOrderedQueryable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5071426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com