EF操作两个有相同ID的实体报错:附加类型“...”的实体失败
2015-05-26 18:51
381 查看
附加类型“...”的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为。这可能是因为某些实体是新的并且尚未接收数据库生成的键值。在此情况下,使用 "Add" 方法或者 "Added" 实体状态跟踪该图形,然后将非新实体的状态相应设置为 "Unchanged" 或 "Modified"。
报错详情:
原因分析:
代码:
解决方法:
对于设备表因为是要保存修改的值而不是新建再保存,所以采用先从上下文里把实体查询出来.再修改再保存的方法。
改后的代码:
报错详情:
原因分析:
代码:
解决方法:
对于设备表因为是要保存修改的值而不是新建再保存,所以采用先从上下文里把实体查询出来.再修改再保存的方法。
改后的代码:
相关文章推荐
- 附加类型“UniversalReviewSystem.Models.ApplicationUser”的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值
- 一例附加类型“LMSoft.FrameWork.Identity.ApplicationUser”的实体失败,因为相同类型的其他实体已具有相同的主键值错误的解决
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为
- EF中更新操作 ID自增但不是主键 ;根据ViewModel更新实体的部分属性
- 在Hibernate的session中同时有两个相同id的同类型对象,修改失败
- 使用saveOrUpdate方法时,若hibernate的session存在了两个具有相同id的不同实体,则会报错
- EF 中更新模型的问题,这种错误(因为相同类型的其他实体已具有相同的主键值。)
- 【极力分享】[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例
- C#之转换两个不同类型但是成员相同的对象
- 关于sql条件语句where id in (@参数)执行报错问题(转换成数据类型 int 时失败)(
- 金蝶BOS,通过ID,获取动态单据对象,无需知道实体类型
- EF实体框架数据操作基类(转)
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- Q : 请问若欲在同时间使用两个以上相同的设备,而该设备的厂商ID与设备ID皆相同,WinDriver 驱动程序开发工具是否亦可支持?
- Virtualbox [The headers for the current running kernel were not found] (操作过程后还是失败,显示相同问题)
- VBA,两个sheet根据第一列id相同比较其余列,不同的值放到sheet3中
- 关于mybatis多对多关联查询 下面的例子让新手看不错。可以改进的一点是 1、不必建立 关联对象实体,可以用map传递两个id进去 2、文章的resultMa
- ajax接收后台传来的JSON类型数据,可通过循环遍历为input赋值(input的ID需要和返回来的数据名相同)
- 郁闷了半天的问题,原来是有两个控件的id相同了,汗一下
- 10.根据主类,完成Compare类,该类有两个boolean类型的方法,方法isSameNum用来比较两组数是否完全相同,方法isSameSum用来比较两组数的和是否相等。相同或者相等返回true,