EF 更新部分字段写法

简介: 原文:EF 更新部分字段写法EF 更新部分字段写法 1、EF默认是查询出来,修改后保存; 2、设置不修改字段的IsModified为false,此方法不需要先从数据库查询出实体来(最优方法):        db.
原文: EF 更新部分字段写法

EF 更新部分字段写法

1、EF默认是查询出来,修改后保存;

2、设置不修改字段的IsModified为false,此方法不需要先从数据库查询出实体来(最优方法):

  

          db.Set<T>().Attach(entity);//将数据用未更改的状态放在上下文中,相当于从数据库读取了该实体

            var loginUser = GetLoginUser();
            entity.ModifyDate = DateTime.Now;
            entity.ModifyId = loginUser.Id;
            entity.ModifyName = loginUser.UserName;

            db.Entry(entity).State = EntityState.Modified;
            db.Entry(entity).Property("CreateId").IsModified = false;
            db.Entry(entity).Property("CreateName").IsModified = false;
            db.Entry(entity).Property("CreateDate").IsModified = false;

           db.SaveChanges();

3、使用 EntityFramework.Extended 扩展,缺点是EF的上下文日志不能捕获执行的sql,此方法也比较麻烦需要逐一例举修改的字段;该扩展还支持批量修改,批量更新,缓存..............

using EntityFramework.Extensions;

  db.Set<SysRole>().Where(c => c.Id == sysRole.Id)
                            .Update(c => new SysRole
                                {
                                    RoleName = sysRole.RoleName,
                                    Level = sysRole.Level,
                                    ModifyDate = DateTime.Now,
                                    ModifyId = loginUser.Id,
                                    ModifyName = loginUser.UserName
                                });

 

目录
相关文章
|
安全 Java API
阿里云——Java实现手机短信验证码功能
通过手机短信发送验证码,是最普遍、最安全验证用户真实身份的方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。本文通过调用API开发一个短信验证码为例,带您了解如何实现短信验证码功能。
9963 7
阿里云——Java实现手机短信验证码功能
|
Web App开发 JSON API
携程网地方美食品列表数据接口(携程 API 系列)
携程网作为国内领先的在线旅游服务平台,整合了丰富的美食资源。通过其地方美食品列表数据接口(假设存在),开发者可获取各地特色美食信息,如名称、菜系、评分等,并按价格、热门程度筛选。接口返回 JSON 格式数据,支持地区和筛选参数设置,且有调用频率限制。示例代码展示了如何使用 Python 的 requests 库发送请求并处理响应,模拟查询北京地区的美食。实际接口需替换为真实 URL。
|
存储 缓存 监控
多级缓存有哪些级别?
【10月更文挑战第24天】多级缓存有哪些级别?
410 1
|
数据采集 机器学习/深度学习 人工智能
全球十亿级轨迹点驱动,首个轨迹基础大模型来了
在人工智能和大数据背景下,南方科技大学等机构提出了一种名为UniTraj的新型轨迹基础大模型。该模型通过学习全球大规模、高质量的轨迹数据,实现对人类移动模式的普遍适用性和可扩展性。UniTraj具备任务自适应性、区域独立性和数据质量鲁棒性的特点,解决了现有方法的任务特定性、区域依赖性和数据敏感性问题。研究人员还构建了包含2.45亿条轨迹的WorldTrace数据集,以支持模型训练和评估。实验结果表明,UniTraj在多个轨迹分析任务上表现出显著优势,为轨迹建模领域带来重要突破。论文地址:https://arxiv.org/pdf/2411.03859。
683 6
|
人工智能 运维 监控
AI驱动的操作系统服务评测报告
作为一位运维工程师,我使用Alibaba Cloud Linux 3操作系统进行云资源的运维和管理。通过控制台可快速开通并管理云资源,界面简洁、功能明确。安装SysOM和OS Copilot组件简单高效,支持实时监控集群健康状况,并提供精准的系统诊断与优化建议。OS Copilot智能助手能有效解答技术问题,提升工作效率。针对EOL系统的订阅服务提供了安全迁移保障。整体体验优秀,尤其适合中小企业降低运维复杂度。建议进一步优化权限管理、增加报告导出功能及增强Copilot交互性。
|
开发者
FA/Stage模型:理解HarmonyOS的FA(Feature Ability)和Stage(Particle Ability)模型
【10月更文挑战第21天】HarmonyOS作为新一代的操作系统,其独特的FA(Feature Ability)和Stage(Particle Ability)模型为应用开发提供了新的视角。这两种模型分别代表了不同的应用组织方式,下面将详细解释这两种模型的概念、特点以及如何在实际开发中使用它们。
1255 4
|
人工智能 Java 程序员
HarmonyOS实战开发之HMRouter实现跳转
本文介绍了HarmonyOS页面跳转的两种方式:组件导航(Navigation)和页面路由(@ohos.router),并推荐使用更灵活的组件导航。进一步详细讲解了HMRouter,一个解决HarmonyOS页面跳转问题的框架,其功能包括页面跳转、弹窗提示、转场动效等。通过下载依赖、配置插件、初始化和实现跳转四个步骤,可以轻松集成HMRouter,实现高效页面管理。文章还展示了具体代码示例和效果截图,帮助开发者快速上手。关注Feri,带你掌握鸿蒙开发技巧!
1098 1
|
关系型数据库 MySQL 数据库
MySQL 复制A的表结构和数据到表B
在MySQL中复制表A至表B可通过不同方法实现。一种是先用`CREATE TABLE B LIKE A;`复制结构,再用`INSERT INTO B SELECT * FROM A;`填充数据。另一种更简便的方法是直接使用`CREATE TABLE B AS SELECT * FROM A;`一次性完成结构和数据的复制。还有一种高级方法是通过`SHOW CREATE TABLE A;`获取表A的创建语句,手动调整后创建表B,如有需要再用`INSERT INTO ... SELECT`复制数据。注意权限问题、跨数据库复制时需指定数据库名,以及大表复制时可能影响性能。
1666 1
|
Ubuntu 安全 iOS开发
Kylin操作系统安装及使用指南
Kylin操作系统安装及使用指南
|
前端开发 小程序 JavaScript
基于Uniapp的体育场馆预约系统的设计与实现
`code袁`是一名热爱分享的在校大学生,专注于毕业设计、微信小程序和Vue开发。他提供了个人CSDN博客和QQ联系方式。文章介绍了体育场预约管理系统,采用前后端分离,前端Vue+Element,后端Node.js,数据库为MySQL。系统包括登录、预约和签到等功能,通过uniapp微信小程序和Web管理端实现。此外,还展示了部分代码和数据库设计。读者可以通过作者提供的链接获取更多源码信息。
419 0
基于Uniapp的体育场馆预约系统的设计与实现

热门文章

最新文章