【EF】数据表全部字段更新与部分字段更新

【EF】数据表全部字段更新与部分字段更新【EF】数据表全部字段更新与部分字段更新

大家好,又见面了,我是你们的朋友全栈君。

    在更新数据库的过程中,出现了” 更新条目时出错。有关详细信息,请参见内部异常。“的问题。

    原因是想要更新表中的部分字段,所以只给需要修改的字段进行赋值,但是用的方法是对全部字段更新,这样就出现了异常。


更新一张表中全部字段的代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;">//实例化读者表并赋值
            ta_readerinfo enReader = new ta_readerinfo()
            {

                ReaderID = ReaderModel.ReaderID,
                Name = ReaderModel.Name,
                Roles = ReaderModel.Roles,
                Sex = ReaderModel.Sex,
                Tel = ReaderModel.Tel,
                Email = ReaderModel.Email,
                Grade = ReaderModel.Grade,

                //不需要更新的字段
                //Pwd = "123",
                //Photo = "呵呵",
                //ManagerID = "1",
                //IsEnable = "1",
            };

            //执行更新操作
            this.CurrentDal.Update(enReader);
            //将对数据库的操作保存
            DbSession.SaveChanges();</span>


更新一张表中部分字段的代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;">            //创建映射规则
            Mapper.CreateMap<ReaderViewModel, ta_readerinfo>();
            //进行转换
            ta_readerinfo ReaderList = Mapper.Map<ta_readerinfo>(ReaderModel);
            //需要修改的字段
            string[] proNames = { "Name", "Roles", "Sex", "Tel", "Email", "Grade" };
            //调用更新操作
            this.CurrentDal.Update(ReaderList, a => a.ReaderID == ReaderModel.ReaderID, proNames);
            //更新SaveChanges
            this.DbSession.SaveChanges();</span>


     这里用到了Mapper,所以需要添加AutoMapper的引用。

     初次接触EF,和直接用SQL语句相比还是不太熟悉,接下来需要多多练习。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105733.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java淘宝秒杀脚本(已自测)

    java淘宝秒杀脚本(已自测)点赞再看,养成习惯,全网无BUG的java淘宝秒杀脚本!!!开场白我的室友如花是个貌美如花的黄花大闺女,这不是放假,大家都在宿舍幻想未来,只有翠花在睡觉,突然,翠花原地炸起,说了一句:“我要学习用java写一个淘宝秒杀脚本!!!”大家一脸茫然的看着如花,脚本是什么?Nginx是什么?我赶紧上网查了一下。一、pandas是什么?示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):impor.

    2022年5月10日
    58
  • 垃圾清理代码_一招清理电脑垃圾

    垃圾清理代码_一招清理电脑垃圾hello,大家好,我是你们的小雨哥哥。今天要教大家的是如何一键清理电脑的垃圾文件。众所周知,电脑用久了会越来越卡,运行的越来越慢,这其中除了硬件的损耗之外,还有一个原因就是电脑的垃圾文件越来越多,缓存文件越来越多。很多程序,例如浏览器,在使用过一次之后,为了下次打开的速度快一点,它会自动保留一下缓存文件,然后等待下来打开的时候就不用去请求服务器了,直接读取电脑本地的缓存…

    2022年6月18日
    46
  • Dubbo(二)—dubbo支持的协议和注册中心

    Dubbo(二)—dubbo支持的协议和注册中心

    2020年11月12日
    234
  • 配置JDK环境变量(最简单手把手教程)[通俗易懂]

    配置JDK环境变量(最简单手把手教程)[通俗易懂]​目录简介JDK卸载准备JDK环境配置校检配置简介本文博客只为自己记忆,就新手最简单手把手教程JRE(JavaRuntimeEnvironment)Java运行环境,用来运行

    2022年6月30日
    27
  • 天翼1号 2021 5G全网通云手机_2021年再买5g手机

    天翼1号 2021 5G全网通云手机_2021年再买5g手机2021年天翼智能生态博览会期间,展锐基于中国电信的5GSA网络,在天翼1号2021手机上完成了5G网络切片端到端业务验证,成功验证了云监控、云桌面、云手机、天翼超高清、小翼管家、云游戏等业务,这标志着天翼1号2021已具备网络切片能力。演示采用的切片目标方案由展锐和中国电信研究院联合研发,方案基于展锐调制解调器中心化(Modem-Centric)架构设计,中国电信研究院研发了终端切片中间件SDK,天翼1号终端适配开发,成功实现了应用程序未作任何修改的前提下顺利接入5G切片网络。本次业务验证意味着应用

    2022年9月1日
    7
  • date类和calendar类的区别_java类中可以定义类吗

    date类和calendar类的区别_java类中可以定义类吗Date类在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。1、使用Date类代表当前系统时间                  Dated=newDate();                  System.out.pr

    2022年9月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号