如何将具有多个对象的 DapperRow 转换为可用的 Dictionary?

How to convert DapperRow with multiple objects into a usable Dictionary?

作为参考,我使用的是 Serenity 应用程序模板。

我有以下代码

var query = new SqlQuery();
        query.From("TenantData")
            .Select("ItemData")
            .Select("ItemType")
            .Where(new Criteria("TenantID") == userDefinition.TenantId);

        using (var connection = sqlConnections.NewByKey("Default"))
        {
            var data = connection.Query(query);
        }

返回的数据看起来像 {{DapperRow, ItemData = '2342342wef', ItemType = 'test'}}

我正在苦苦挣扎的是如何将其转换成字典(ItemData 是键,ItemType 是值)。

我已经尝试了select,但它似乎不受支持,所以我有点不知所措。

以下应该有效。

var data = connection.Query(query);

var d = data.ToDictionary(row => (string)row.itemdata, row => (string)row.itemtype);

确保在顶部添加 using System.Linq;ToDictionary() 是一种扩展方法。