zoukankan      html  css  js  c++  java
  • EF:插入记录失败,提示当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值

    EF忽然报错:
    增加记录时,提示当 IDENTITY_INSERT 设置为 OFF 时,不能向表 '。。。' 中的标识列插入显式值。
    真奇怪,添加记录方法一向好地地,从没出过错。要出错,那也是Update时才会,什么“附着不附着”的问题。
    从提示信息来看,是向标识列插入了值。那么EF为什么会认不出标识列呢?
    原来,是因为同事首先生成了EF代码,然后再在数据库中将某字段改成了标识列,改完以后,没有刷新EF代码,因此EF没有认出该


    字段为标识列。
    在.edmx文件里,查看其代码,对实体类有如下描述:
            <EntityType Name="Status_Info">
              <Key>
                <PropertyRef Name="ID" />
              </Key>
              <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
              <Property Name="StatusID" Type="int" />
              <Property Name="Color" Type="nchar" MaxLength="10" />
            </EntityType>

    是否标识列,一目了然。

    教训:数据库更改,一定要刷新EF代码。

  • 相关阅读:
    浏览器缓存机制
    关于CSRF的攻击
    关于CGI、FastCGI和PHP-FPM的关系
    PHP-FPM进程数的设定
    一个论坛引发的血案
    Django中的权限系统
    Django中使用ModelForm实现Admin功能
    Django中使用Bootstrap
    Django的用户认证
    vtkMapper
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257904.html
Copyright © 2011-2022 走看看