gpt4 book ai didi

c# - Linq-to-SQL ToDictionary()

转载 作者:IT王子 更新时间:2023-10-29 03:39:43 28 4
gpt4 key购买 nike

如何使用 Linq 将 SQL (2008) 中的两列正确转换为 Dictionary(用于缓存)?

我目前循环遍历 IQueryable b/c 我无法使 ToDictionary 方法工作。有任何想法吗?这有效:

var query = from p in db.Table
select p;

Dictionary<string, string> dic = new Dictionary<string, string>();

foreach (var p in query)
{
dic.Add(sub.Key, sub.Value);
}

我真正想做的是这样的事情,但似乎行不通:

var dic = (from p in db.Table
select new {p.Key, p.Value })
.ToDictionary<string, string>(p => p.Key);

但是我得到这个错误:

Cannot convert from 'System.Linq.IQueryable<AnonymousType#1>' to'System.Collections.Generic.IEnumerable'

最佳答案

var dictionary = db
.Table
.Select(p => new { p.Key, p.Value })
.AsEnumerable()
.ToDictionary(kvp => kvp.Key, kvp => kvp.Value)
;

关于c# - Linq-to-SQL ToDictionary(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/245168/

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