将 Linq 查询结果转换为字典

2023-11-25

我想使用 Linq to SQL 向数据库添加一些行,但我想在添加行之前进行“自定义检查”,以了解是否必须添加、替换或忽略传入行。 我希望保持客户端和数据库服务器之间的流量尽可能低,并最大限度地减少查询数量。

为此,我希望获取验证所需的尽可能少的信息,并且仅在流程开始时获取一次。

我正在考虑做这样的事情,但显然,这是行不通的。有人有主意吗?

Dictionary<int, DateTime> existingItems = 
    (from ObjType ot in TableObj
        select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp))
    )

我最终想要的是一个字典,而不必从 TableObject 下载整个 ObjectType 对象。

我还考虑了以下代码,但我试图找到合适的方法:

List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>();
List<DateTime> values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList<int>();
Dictionary<int, DateTime> existingItems = new Dictionary<int, DateTime>(keys.Count);
for (int i = 0; i < keys.Count; i++)
{
    existingItems.Add(keys[i], values[i]);
}

尝试使用the ToDictionary method像这样:

var dict = TableObj.Select( t => new { t.Key, t.TimeStamp } )
                   .ToDictionary( t => t.Key, t => t.TimeStamp );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Linq 查询结果转换为字典 的相关文章

随机推荐

  • 将 SVG 转换为 PDF

    如何以编程方式将 SVG 文件转换为 PDF 在生成 PDF 之前 我需要在某些方面更改 SVG 因此仅使用工具对其进行预转换是不够的 理想情况下使用 Java 但 Perl 或 PHP 也可以 显然 我基本上正在考虑 Apache FOP
  • 以编程方式启动德比

    请看下面的代码 数据库连接器 java import java sql import javax swing public class DataBaseConnector private Connection con public Data
  • 在 Visual Studio 2015 中混合 - 无设计视图

    我想在 Visual Studio 2015 中用 C 构建一个应用程序 并且想使用 Blend 创建一个用户界面 但它只向我显示 MainPage xaml 中的代码 而不是图形视图 我应该怎么办 它看起来是这样的 您必须将应用程序的目标
  • 在 R 中,以点开头的变量存储在哪里?

    我对以点开头的变量感到好奇 例如 var lt 100 它不属于全球环境 这个变量属于什么环境 gt ls all names TRUE envir GlobalEnv 1 Random seed var a 查看手册页ls 通过输入 ls
  • 无法在 vscode 上渲染 ipynb 文件中的图像

    我已经安装了 vscode 和官方的 microsoft python 包 除了 markdown 中的图像渲染之外 一切都很好 我尝试使用以下代码在降价单元格中显示图像 img src images grad summary png st
  • 对象不支持属性或方法“indexOf”

    我正在使用下面的代码 它是如
  • 无法加载文件或程序集“Microsoft.ReportViewer.Common,版本=11.0.0.0”

    我最近升级了我的 n 层解决方案 NET 3 5 与 2008 到 4 5 Visual Studio 2012 除了 Crystal Reports 之外 一切都很顺利 我必须通过以下链接为 Visual Studio 2012 安装新的
  • Pickle 转储替换当前文件数据

    当我使用pickle时 它工作得很好 我可以卸载任何负载 问题是 如果我关闭程序并尝试再次转储 它会用新的转储替换旧的文件数据 这是我的代码 import pickle import os import time dictionary di
  • 系统如何选择正确的页表?

    让我们关注单处理器计算机系统 据我所知 当创建进程时 就会建立页表 将虚拟地址映射到物理内存地址空间 每个进程都有自己的页表 存储在内核地址空间中 但是 由于不仅有一个进程在运行 并且会发生很多上下文切换 MMU 如何为进程选择正确的页表呢
  • 应用程序已部署。无需重新安装

    无法在模拟器上运行应用程序 也无法在设备本身上运行应用程序 当我在 Android 设备上运行它时 它说 应用程序已部署 无需重新安装 当我在手机上什至找不到项目应用程序时 如果您想确保应用程序已重新安装 您可以在命令行中执行此操作 adb
  • SpriteKit如何获取正确的屏幕尺寸

    我试过了 self frame size self view frame size UIScreen mainScreen bounds size 它们都不起作用 如何获得设备的正确屏幕尺寸 您可以使用以下快速代码来获取屏幕尺寸 let d
  • 有没有办法重写Spark RDD unique以使用mapPartitions而不是distinct?

    我有一个 RDD 太大 无法一致地执行不同的语句而不产生虚假错误 例如 SparkException 阶段失败 4 次 ExecutorLostFailure HDFS 文件系统关闭 达到执行器失败的最大数量 由于 SparkContext
  • OnGlobalLayoutListener:弃用和兼容性

    我必须使用OnGlobalLayoutListener对象 然后删除侦听器 我遇到了不推荐使用的方法的问题 我用以下代码解决了这个问题 protected void onCreate Bundle savedInstanceState fi
  • Android 中语音识别使用的比较:通过 Intent 还是线程内?

    介绍 Android 为我提供了两种使用语音识别的方式 The first方式是通过Intent 如这个问题 意图示例 A new Activity被推到堆栈的顶部 该堆栈聆听用户的声音 听到一些语音 尝试转录它 通常通过云 然后通过一个将
  • 在 Tensorflow-lite 中输入具有动态尺寸的图像

    我有一个张量流模型 它接受不同大小的输入图像 inputs layers Input shape 128 None 1 name x input
  • Aiohttp日志记录:如何区分不同请求的日志消息?

    想象一下我有一个基于 Aiohttp 的 Web 应用程序 from aiohttp import web import asyncio import logging logger logging getLogger name async
  • Doctrine2.3 和 OneToOne 级联持久化似乎不起作用

    我有两个实体 用户和用户首选项 我想单向映射一对一 代码看起来像这样 ORM Table users ORM Entity class User ORM Column name id type integer ORM Id protecte
  • 如何在JPA配置中设置默认模式名称?

    我发现在休眠配置文件中我们可以设置参数hibernate default schema
  • 具有多个属性和混合顺序的列表排序

    我必须对具有多个属性的列表进行排序 我可以轻松地按升序排列所有属性 L sort key operator attrgetter attribute 但问题是 我必须使用混合配置进行升序 降序 我必须 模仿 一点 SQLOrder By你可
  • 将 Linq 查询结果转换为字典

    我想使用 Linq to SQL 向数据库添加一些行 但我想在添加行之前进行 自定义检查 以了解是否必须添加 替换或忽略传入行 我希望保持客户端和数据库服务器之间的流量尽可能低 并最大限度地减少查询数量 为此 我希望获取验证所需的尽可能少的