c# - 查询实体并返回字典

标签 c# linq group-by

我正在尝试从数据库查询 View (实体)并返回字典。 View 中有重复项,所以我尝试了 groupby 但无法弄清楚。

var queryresults = db.MyView.Where(x => x.year == myYear)
                            .GroupBy(g => new { g.myCode, g.myCodeName})
                            .ToDictionary(d => d.myCode, d => d.myCodeName);

最佳答案

如果你想避免重复键错误,你应该按字典键属性分组。然后您可以选择每组中第一项的代码名称作为字典条目值:

var queryresults = 
      db.MyView.Where(x => x.year == myYear)
        .GroupBy(x => x.myCode)
        .ToDictionary(g => g.Key, g => g.First().myCodeName);

关于c# - 查询实体并返回字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21260816/

相关文章:

c# - 延迟几秒多次更新 Textview 文本

c# - 对 Linq 查询进行排序

r - 如何将变量名传递给 dplyr 的 group_by()

mysql - 在 MySQL 中使用 GROUP BY 时间范围时如何显示范围边界

c# - Entity Framework 从 saveChanges 中的上下文获取用户

c# - 从 Windows 文件夹中删除权限

c# - Visual Studio 中调试和发布版本的不同构建操作

linq - 在 Entity Framework 中的运算符中实现

c# - 更好的 Enumerable.Range 升序和降序范围?

SQL Group By 和内连接