【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

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

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