如何将具有多个对象的 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()
是一种扩展方法。
作为参考,我使用的是 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()
是一种扩展方法。