EF 4.0 更新数据时候的一个错误及其处理

错误如图:

修改下方法后可以进行更新了。但是中间多了一步查询

 /// <summary>
        /// 更新一个产品分类
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateBindClass(DataDicContent model)
        {
            var entry = DBENT.Entry(model);
            if (entry.State == EntityState.Detached)
            {
                var set = DBENT.Set<DataDicContent>();
                DataDicContent attachedProduct = set.Local.SingleOrDefault(p =>p.ID==model.ID);
                //如果已经被上下文追踪
                if (attachedProduct != null)
                {
                    var attachedEntry = DBENT.Entry(attachedProduct);
                    attachedEntry.CurrentValues.SetValues(model);
                }
                else //如果不在当前上下文追踪
                {
                    entry.State = EntityState.Modified;
                }
            }
            if (DBENT.SaveChanges() > 0)
            {
                return true;
            }
            return false;
        }

奇怪的是,不知道为什么用原来的方法会出错。

别的表的更新也是这么写的却没有错误。
暂时没时间深究错误原因,先找到解决方案再说,等有时间再深究这个问题。

时间: 2024-11-08 13:25:44

EF 4.0 更新数据时候的一个错误及其处理的相关文章

Qt之模型/视图(实时更新数据)

上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变的,那么如何实时更新成了一个很重要的问题!功能:(1)添加委托(进度条)(2)显示文件名称.大小.进度.速度.剩余时间.状态等.(3)可进行添加.更新.删除.清空等操作.(4)实时更新数据先看一个效果图:委托(进度条):ProgressBarDelegate::ProgressBarDelegate(QObject *parent): QItemDelegat

如何实现MySQL随机查询数据与MySQL随机更新数据?

以下的文章主要介绍的是MySQL随机选取数据,对实现MySQ随机查询数据与MySQ随机更新数据的实际操作步骤的描述,以及对其实际操作中所要用到的语句的描述,以下就是对其具体操作步骤的描述. MySQL随机查询数据 以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了. SELECT * FROM table_name ORDER BY rand() LIMIT 5; MySQ

ASP.NET Core3.0+EntityFrameWork Core3.0更新后的一个关于GroupBy的坑

ASP.NET Core3.0终于正式更新了,调整好发布版之后,着急忙慌的开始更新新版本. 真的很艰难啊,Setup文件修改就很痛苦,一会api Router不好使了,一会Contorller也404了......(这些坑其实也应该写出来的,还是没有写博客的好习惯啊) 今天遇上的是分组问题 GroupBy . 我有一个工作量统计图表功能,正常情况下,选择两个员工,表格是下图: 更新后,变成了下图: 额,发生了什么???? 一开始还以为是GroupBy 的工作机制变了,后来在文章 https://

asp.net core 3.0 更新简记

原文:asp.net core 3.0 更新简记 asp.net core 3.0 更新简记 Intro# 最近把活动室预约项目从 asp.net core 2.2 更新到了 asp.net core 3.0,记录一下,升级踩过的坑以及经验总结,包括但不限于 TargetFramework (netcoreapp2.2 需要更新为 netcoreapp3.0) Dependency Host/Environment Mvc Routing Swagger Dockerfile EF(不推荐更新)

Django开发运维后台(二):建立模型与更新数据

上一篇文章我已经新建了一个SaAdmin的APP,现在开始在这APP下面来code 1.修改setting.py的数据库连接: DATABASES = {     'default': {         'ENGINE':'django.db.backends.mysql',         'NAME': 'QjshAdmin',         'USER': 'root',         'PASSWORD': 'lihuipeng',         'HOST': 'localho

经验总结16--EF局部更新数据

EF提供更新某个实体的某些数据,而其他数据保留的功能. 1.重新实例一个实体,并给予ID和需要修改的字段.注:此处的实体不能从数据库中查询,只能新的实例. Order order = new Order() { ID = id }; order.Name= "test222"; 2.包含该实体,更新策略为Unchanged,设置需要更新的字段. DbEntityEntry<Order> entry = db.Entry<Order>(order); entry.

更新数据

T-SQL支持标准的UPDATE 语句,用于更新表中的数据.T-SQL 也支持UPDATE 语句的一种非标准用法,在UPDATE 语句中使用联接和变量 1.UPDATE 语句 UPDATE 语句是标准的SQL 语句,用于对表中数据 行的一个子集进行更新.为了标识作为更新目标的子集行,须要在WHERE 子句中指定一个谓词.在SET 子句中指定要更改的列和这些列的新值(或表达式),各列之间用逗号分隔. UPDATE dbo.OrderDetails SET discount=discount+0.0

数据库更新数据时的传值问题

如果数据库中有多列值时,但是不定个数更新是需要采取“先通过查找数据库中的所有数据保存为一个model类,再给相应要改变的值复制,其他的更新的值保持原有数据不变” 比如:DAL(数据访问层) /// <summary> /// 更新数据,虽然有的时候只是更新某个值,其他的值可以原样更新.在更新之前先要查询一下原有的数据,以便于不更新没必要的更新 /// </summary> /// <param name="model"></param>

Java批量插入、更新数据

Java的批量添加数据,多个字段同时添加多条数据,我不知道你遇到过没有.今天我们就以一个具体的实例来说一下Java的批量添加数据,面向的是Oracle数据库. 前台页面: <span style="font-size:14px;"><body class="main_body" scroll="no"> <div class="employee_gun_dong"> <form nam