【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语句相比还是不太熟悉,接下来需要多多练习。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Codeforces Round #FF (Div. 2):C. DZY Loves Sequences[通俗易懂]

    Codeforces Round #FF (Div. 2):C. DZY Loves Sequences

  • 等价类划分法测试用例设计举例「建议收藏」

    等价类划分法测试用例设计举例「建议收藏」一、基本概念等价类是指程序输入域的子集。等价类划分(EquivalancePartitioning)测试的思想:将程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例。该方法是常用的黑盒(BlackboxTesting)测试用例(Testcase)设计方法。一)划分等价类1.有效等价类与无效等价类…

    2022年10月18日
  • 数据的四大特性_质量具有的四种特性

    数据的四大特性_质量具有的四种特性事务具有四个特征:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这四个特性简称为ACID特性。1

  • jeesit1.27使用(2)-图片处理

    jeesit1.27使用(2)-图片处理 解决问题:字典使用使用对象:初级开发人员,项目时间紧张没有空钻研源码需要马上学会使用。1.配置表时选择文件上传。 2.生成代码,不敷述了 3.修改form.jsp代码 将type中的files改为images。4.修改list.jsp。…

  • Request常用方法

    Request常用方法原文地址一、HttpServletRequest介绍  HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。二、Request常用方法2.1、获得客户机信息  getRequestURL方法返回客户端发出请求时的完整URL。   getRequestURI…

  • 单射、双射与满射[通俗易懂]

    单射、双射与满射[通俗易懂]数学上,单射、满射和双射指根据其定义域和陪域的关联方式所区分的三类函数。单射:指将不同的变量映射到不同的值的函数。满射:指陪域等于值域的函数。即:对陪域中任意元素,都存在至少一个定义域中的元素与之对应。双射(也称一一对应):既是单射又是满射的函数。直观地说,一个双射函数形成一个对应,并且每一个输入值都有正好一个输出值以及每一个输出值都有正好一个输入值。(在一些参考书中,“一一”用…

发表回复

您的电子邮箱地址不会被公开。

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