• 无法跟踪实体类型“***”的实例,因为已经在跟踪另一个与{“ID”}具有相同键值的实例。


    一顿操作猛如虎,然后他给我来个这个

    The instance of entity type '***' cannot be tracked because another instance with the same key value for {'ID'} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached. Consider using '***’ to see the conflicting key values.

    ennnnnn MMP

    这玩意百度翻译说 是 

    无法跟踪实体类型“***”的实例,因为已经在跟踪另一个与{“ID”}具有相同键值的实例。附加现有实体时,请确保仅附加一个具有给定键值的实体实例。考虑使用“***”查看冲突的键值。

    然而看这个翻译简单来说是键值冲突  what fuck????(语言不当之处请见谅,我只是想描绘一下我现在的心情)

    首先我是把数据根据ID查出来的,然后需要修改一个字段值,最后保存。

    这个操作我在controllers 做的,还用了Map映射。目前为止我怀疑是映射的问题。

      在查出来ID时我将数据库的Model映射为他对应的ViewModel 这时候映射了一次,得到的是View 的数据。接着我修改完字段,需要保存修改需要将ViewModel 映射 为 Model,这时候就发生了他说的

    已经在跟踪另一个与{“ID”}具有相同键值的实例 的问题。

    解决方法:

      不用映射,直接用数据上下文查,直接改,没发生任何问题。NICE

    本文原创,转载请注明出处。

    附言:

      愿这世上没有bug

    Map

  • 相关阅读:
    骨灰级程序员20条编程经验
    js常用正则表达式
    css样式大全(整理版)
    ASP.NET中常用的26个优化性能方法
    C# 中的委托和事件
    Page的ResolveClientUrl与ResolveUrl读取路径
    层设定固定高度,内容超过高度,自动延伸
    Catalan数(卡塔兰数)
    称球问题
    zabbix分布式监控系统安装配置
  • 原文地址:https://www.cnblogs.com/hkzw/p/12378609.html
Copyright © 2020-2023  润新知