gpt4 book ai didi

c# - linq-to-sql 查询结果到 c# 字典 - 如何

转载 作者:行者123 更新时间:2023-11-30 17:57:08 26 4
gpt4 key购买 nike

我使用 C# 和 LinqToSql 查询数据库表并返回单个唯一记录。

问题:如何将查询结果放入字典中:数据库表的列名作为字典键和数据库表的列值作为字典值。

注意:我不会总是知道表的列名的名称或编号

Dictionary<string, string> QueryResult = new Dictionary<string, string>

var UniqueRecord = (from tbl DataContext.Table
where tbl.ColumnName1.Equals(Parameter1)
&& tbl.ColumnName2.Equals(Parameter2)
select tbl);

//如何将var UniqueRecord添加到字典中

============================================= ===================================

我最终使用了这个

============================================= ===================================

var UniqueRecord = (from tbl DataContext.Table
where tbl.ColumnName1.Equals(Parameter1)
&& tbl.ColumnName2.Equals(Parameter2)
select tbl);


foreach(var item in OnlineBezeichnungRekord)
{
var properties = item.GetType()
.GetProperties()
.ToDictionary(p => p.Name, p => p.GetValue(item, null).ToString());

Dictionary<string,string> DictionaryValues = properties;

}

最佳答案

考虑到手动将 DataRow 转换为 Dictionary 是多么简单,我不会在您的情况下使用 Enumerable.ToDictionary,只是做循环:

Private Function GetDictionaryFromDataRow(dr As DataRow) As Dictionary(Of String, Object)
Dim dict As New Dictionary(Of String, Object)
For Each col As DataColumn In dr.Table.Columns
dict.Add(col.ColumnName, dr.Item(col))
Next
Return dict
End Function

然后只需确保您的查询返回一个 DataRow,因此请使用 UniqueRecord(0)

关于c# - linq-to-sql 查询结果到 c# 字典 - 如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13455505/

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