首页 > 编程语言 >C# 更新集合中某一个信息也是集合的数据

C# 更新集合中某一个信息也是集合的数据

时间:2023-11-07 16:46:15浏览次数:28  
标签:exam C# 更新 Sn 集合 ID IsDeleted string

比如一个集合中,还有一个多选项,此多选项是作为一个集合,传输在总的集合上,更新这个多选项集合的代码

1.先更新总集合的基本数据

2.针对这个多选项集合的值,更新多选项

 1 //从DB删除已经删除的问题
 2                     if (exam.ID > 0)
 3                     {
 4                         var sql = string.Empty;
 5                         if (exam.Questions.Where(o => o.ID > 0).Count() > 0)
 6                         {
 7                             sql = string.Format("UPDATE dbo.Question SET IsDeleted = 1 WHERE IsDeleted = 0 AND ExamSn = '{0}' AND ID NOT IN ({1})", exam.Sn, string.Join(",", exam.Questions.Where(o => o.ID > 0).Select(o => o.ID)));
 8                         }
 9                         else
10                         {
11                             sql = string.Format("UPDATE dbo.Question SET IsDeleted = 1 WHERE IsDeleted = 0 AND ExamSn = '{0}'", exam.Sn);
12                         }
13                         db.ExecuteNonQuerySql(sql);
14                     }
15                     foreach (var q in exam.Questions)
16                     {
17                         var q_result = false;
18                         if (q.ID == 0)
19                         {
20                             q.IsDeleted = false;
21                             q.Sn = Guid.NewGuid();
22                             q.ExamSn = exam.Sn;
23                             q_result = service.Create(q);
24                         }
25                         else
26                         {
27                             q_result = service.Update(q);
28                         }30                     }

 

标签:exam,C#,更新,Sn,集合,ID,IsDeleted,string
From: https://www.cnblogs.com/wzzcc/p/17815329.html

相关文章

  • 华为云ubuntu1804安装rancherk8s
    apt-getinstalldocker.iodockerversionClient:Version:20.10.21APIversion:1.41Goversion:go1.18.1Gitcommit:20.10.21-0ubuntu1~18.04.3Built:ThuApr2705:50:212023OS/Arch:linux/amd6......
  • DataGridView的AutoGenerateColumns控制显示列
    在用C#的EF框架进行数据显示的时候出现了DataGridView显示未编辑列的问题,后来发现通过对DataGridView的 AutoGenerateColumns属性进行定义借可以解决AutoGenerateColumns属性默认未true,此时会显示所有,更改为false就可以了(此属性只能后台操控,代码加载main方法里)this.UsersDGV.......
  • 2023CVPR_Efficient Frequency Domain-based Transformers for High-Quality Image De
    一.Motivation1.Transformer在解决全局表现很好,但是复杂度很高,主要体现在QK的乘积:(Wenotethatthescaleddot-productattentioncomputationisactuallytoestimatethecorrelationofonetokenfromthequeryandallthetokensfromthekey)在self-attention中......
  • Base64编码、解码 C语言例子(使用OpenSSL库)
    #include<stdio.h>#include<string.h>#include<unistd.h>#include<openssl/pem.h>#include<openssl/bio.h>#include<openssl/evp.h>intbase64_encode(char*in_str,intin_len,char*out_str){BIO*b64,*bio;......
  • BUUCTF_Crypto_WriteUp | Unencode
    题目89FQA9WMD<V1A<V1S83DY.#<W3$Q,2TM]分析该题没给提示,标题也很奇怪,猜测是一种名为Unencode的加密方式,查了一下只找到UUencode编码UUENCODE是将二进制文件转换为文本文件的过程,转换后的文件可以通过纯文本e-mail进行传输,在接收方对该文件进行uudecode,即将其转换为初始......
  • docker 创建容器 设置端口映射 目录映射
    dockerrun-d-p8042:8080-v$PWD:/usr/local/tomcat/webapps--namemyProjectNametomcat:8-jdk8-d后台运行-p端口映射将容器的8080端口映射到主机的8042端口-v目录映射$PWD:指定宿主机当前目录挂载到容器的webapps--name指定容器名称为myProjectName tomcat:8-jdk8......
  • 视频集中存储EasyCVR平台播放一段时间后出现黑屏是什么原因?该如何解决?
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的......
  • C# 创建一个指定对象的类,传输此类对应的集合,比如:只传输name和value
    当接口需要只传出某两列的数据,其他数据不需要的时候,可以自定义个一个类,只传输需要的数据1.定义一个类1publicclassMobileHospital2{3publicstringname{get;set;}4publicstringvalue{get;set;}5}2.查询目标数据集合List......
  • 使用RTMP推流到安防监控平台LiteCVR,FLV视频无法播放的原因排查 
    众所周知,在安防监控领域中,远程视频监控技术的应用非常广泛。在工地监控中,它可以帮助监管部门和工程项目管理者及时掌握现场施工情况,发现是否存在违规、危险行为,保障工人安全和现场施工质量。安防监控视频平台LiteCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可......
  • 安装部署-docker-win(linux通用)
    MicrosoftWindows[版本10.0.22621.1848](c)MicrosoftCorporation。保留所有权利。C:\Users\1>dockerrun-itd--name=fe--envFE_SERVERS="FE:172.17.0.2:9010"--envFE_ID=1-p18830:8030-p19830=9030--ip=172.17.0.7apache/doris:1.2.4.1-fe-x86_64do......