C# IDbConnection 查询 - 保证顺序?

问题描述 投票:0回答:0

我正在使用 Dapper 实现数据层功能以获取一组有序条目。

using (var connection = new OracleConnection(getConnString())
{
   var fields = connection.Query<string>($"select fieldid from fields_v order by fieldid", param: null, commandType: CommandType.Text);
}

所以此时我得到一个 IEnumerable,它实际上是一个列表,所以我可以假设

fields
是有序的。

但据我所知,IEnumerable no 保证底层数据结构的顺序,所以我和我的函数的调用者如何确定返回的集合实际上是有序的?

为了向我的函数的被调用者保证,我可以通过

IList<string>
函数返回一个
AsList()
,这很好,但是,I 仍然没有保证。

我可以检查返回值是否真的是一个

IList<string>
,否则抛出异常,但这似乎不是一个正确的方法。

为什么没有

IOrderedEnumerable<T> IDBDconnection.Query()

dapper idbconnection
© www.soinside.com 2019 - 2024. All rights reserved.