c# – 如何判断IQueryable是否为IOrderedQueryable?
发布时间:2020-12-15 03:43:19 所属栏目:百科 来源:网络整理
导读:我有一个IQueryable.我没有打电话给OrderBy或以其他方式做任何事情. 如果我做: // for some reason,isItOrdered is always truevar isItOrdered = myQueryable is IOrderedQueryableT 为什么这是真的? (似乎不应该是.)而且,更重要的是,如何判断是否已经订
我有一个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,看看它的样子. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |