首页 > 数据库 >使用SaveChanges()更新数据库失败

使用SaveChanges()更新数据库失败

时间:2024-05-16 21:31:36浏览次数:17  
标签:对象 数据库 更新 TestCase item context SaveChanges 属性

    item.ModelType = TestCase.ModelType;
                item.TestType = TestCase.TestType;
                item.TestCaseType = TestCase.TestCaseType;
                item.TestCaseName = TestCase.TestCaseName;
                item.TestDescribe = TestCase.TestDescribe;
                item.TestSpec = TestCase.TestSpec;
                item.TestEnvironment = TestCase.TestEnvironment;
                item.Comment = TestCase.Comment;
                item.State = TestCase.State;
                item.TestStandard = TestCase.TestStandard;
                context.SaveChanges();
item = TestCase;
                context.SaveChanges();

在第一段代码中,逐个将 item 对象的属性设置为 TestCase 对象的对应属性,然后调用 context.SaveChanges() 来保存更改。这种方法确保了每个属性都被正确地设置,并且每个更改都会被保存到数据库中。

而在第二段代码中,直接将 item 对象设置为 TestCase 对象,然后调用 context.SaveChanges()。这种方法虽然看起来更简洁,但它实际上并没有真正地修改 item 对象的属性,而是将 item 对象的引用指向了与 TestCase 相同的对象。这样的话,尽管 item 的引用已经指向了一个新的对象,但它并没有触发 Entity Framework 来跟踪并保存这些更改到数据库中。

因此,正确的做法是使用第一种方式,逐个设置 item 对象的属性,并确保在修改后调用 context.SaveChanges() 来保存更改。

标签:对象,数据库,更新,TestCase,item,context,SaveChanges,属性
From: https://www.cnblogs.com/lei-zi/p/18196762

相关文章

  • DBA(Database Administrator)数据库运维-mysql
    一、开篇1、版本选择1、企业版2、社区版MySQL社区版则是由分散在世界各地的MySQL开发者、爱好者以及用户参与开发与测试的,包括软件代码的管理、测试工作,也是他们在负责。社区也会设立BUG汇报机制,收集用户在使用过程中遇到的BUG情况,相比于企业版,社区版的开发及测试环境没有那么......
  • 数据库索引
    一.什么是索引1.索引是一种数据结构(定义)2.索引是在表的字段上创建的3.索引包含了一列值,这个值保存在一个数据结构中二.索引作用1.保证数据记录的唯一行2.实现表与表之间的参照性3.减少排序和分组的时间(如使用orderby,groupby语句进行数据查询时)4.可以使用索引快速访问......
  • rm -rf误删Oracle数据库恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:rm-rf误删Oracle数据库恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]有客户把虚拟化环境中装有oracle数据库的linux操作系统,由于操作失误在/下面执行了rm-rf*,导致所有文件......
  • 数据库视图
    1.什么是视图?视图是一个虚拟表,它不在数据库中以存储的形式保存(本身不含数据),在使用视图的时候动态生成。2.视图的优点2.1.提高了查询效率数据库中的数据查询非常复杂,可以简化sql语句2.2安全有些保密字段,可以通过创建视图限制用户对某些字段进行操作。2.3简单不需要关心后买......
  • Python查询PostgreSQL数据库
    哈喽,大家好,我是木头左!Python与PostgreSQL的连接需要了解如何在Python中连接到PostgreSQL数据库。这通常涉及到使用一个库,如psycopg2,它是Python中用于PostgreSQL的最流行的适配器。安装psycopg2非常简单,可以通过pip进行安装:pipinstallpsycopg2安装完成后,可以使用以下代码......
  • DataX将MySql数据库数据同步到Oracle数据库
    1.下载DataX并解压(本地环境安装有python)DataX/userGuid.mdatmaster·alibaba/DataX(github.com) job文件夹下存放数据同步的json脚本{"job":{"setting":{"speed":{"channel":1}......
  • 国产数据库obase
    ##sample1文章1  OceanBase慢查询排查思路  https://open.oceanbase.com/blog/4030499840?_gl=1*1muepo8*_ga*MTg4MDgzMzI3Mi4xNzE1NDE3MjEw*_ga_T35KTM57DZ*MTcxNTg0MDQ3OS4xMi4xLjE3MTU4NDU2NTkuNjAuMC4w  本文汇总了项目实践中前辈的经验和笔者的理解,旨在帮助初......
  • lightdb数据库超时相关控制参数
    在业务开发中,通常因为代码不规范、中间件缺陷、DBA误提交批量SQL等原因,会导致服务端连接一直存在、但是实际上并未在执行的情况,从而导致数据库连接泄露。为了防止这种异常情况积压,lightdb中包含了多个参数用于控制超时相关的行为:lock_timeout:控制多久拿不到锁就自动超时并回......
  • INFINI Labs 产品更新 | Console 1.24.0 操作日志审计功能发布
    INFINILabs产品又更新啦~,包括Console,Gateway1.24.0。本次各产品更新了很多亮点功能,如Console增加操作日志审计功能,优化数据探索字段统计,修复Gateway增加认证后添加实例失败等问题。以下是本次更新的详细说明。INFINIConsolev1.24.0INFINIConsole是一款非常轻量级的......
  • Nacos热更新静态变量配置
    Nacos热更新静态变量配置Springboot项目接入nacos,配置文件统一管理,但静态常量无法通过@Value注解实时热更新(如下所示)。GlobalVariables.java@ComponentpublicclassGlobalVariables{//测试热加载配置字段publicstaticStringtestInfo;@Value("${test......