zoukankan      html  css  js  c++  java
  • EF 中更新模型的问题,这种错误(因为相同类型的其他实体已具有相同的主键值。)

    在EF经常在更新模型的时候可能会同时操作一个实体几次。

    其实除了SaveChanges外,其它的几次基本都是要查询出一个结果,

    例如更新的时候,我们要查一下这个表中有没有相同的纪录之类的。

    查询完之后,我们再SaveChanges就会出错。

    怎么办呢?

    查询的时候我们用这个方法查询:AsNoTracking() 

    db.Set<实体模型>()
                .AsNoTracking()
                .FirstOrDefault(p => p.x== x)
    
    //但这个没有Find()方法 ,不知道怎么回事。
     

    这个方法返回一个新查询结果,但返回的实体不会在缓存中。也就是EF查完了就不再跟踪了。

    好了。记录一下。打完收功!

    希望能帮到困惑很久的人们!

  • 相关阅读:
    laravel5.6 调用第三方类库
    substring
    SpringSecurity3配置及原理简介
    正则表达式
    type=json
    正则表达式2
    笔记1
    oracle 自带函数大全及例子
    Vector容器类
    HQL
  • 原文地址:https://www.cnblogs.com/micenote/p/5035621.html
Copyright © 2011-2022 走看看