【问题标题】:how to set IDENTITY_INSERT as ON?如何将 IDENTITY_INSERT 设置为 ON?
【发布时间】:2009-06-06 15:01:58
【问题描述】:

首先我要求管理员删除此帖子: '如何-我-使-a-primary-key-as-autoincrement-in-vb-net-2008/959787#959787' 因为我遇到了评论问题,当我尝试添加评论时,出现错误消息:“评论需要 50 名声望——请参阅常见问题解答”!

这里只是想问一下 IDENTITY_INSERT,如何在 vb.net 2008 中将其设置为 ON 出现此错误:http://www.rofof.com/img2/6amojc6.gif

对于我造成的这个问题,我深表歉意。

【问题讨论】:

    标签: asp.net vb.net linq


    【解决方案1】:

    听起来您的 Linq to SQL 类与您的数据库不同步。您需要更新它们。如果您使用的是内置的 Visual Studio 设计器,请从 DBML 中删除该表,然后重新添加。

    主键列的属性应具有如下所示的属性:

    [Column(Storage="_TeacherID", 
     AutoSync=AutoSync.OnInsert, 
     DbType="Int NOT NULL IDENTITY", 
     IsPrimaryKey=true, 
     IsDbGenerated=true)]
    

    【讨论】:

    • 太棒了!这正是我所需要的,使用 Visual Studio :)
    【解决方案2】:

    如果这是您想要做的,您还必须包含表名。

    SET IDENTITY_INSERT tablename ON

    【讨论】:

      【解决方案3】:

      很好用,

      SET IDENTITY_INSERT ON
      

      但必须使用执行查询的同一连接(不关闭连接)完成。

      顺便问一下,您确定要在标识列中插入一个值吗?也许您的 linq 到 sql 映射不是最新的。如果是这种情况,你可以

      • 从模型中删除表并重新分配它,或者
      • 在您的 linq to sql 模型中选择身份字段并将其属性设置为

        IsDBGenerated = 真

        AutoSync = AutoSync.OnInsert

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-13
        • 1970-01-01
        • 2013-06-25
        • 2011-03-07
        • 1970-01-01
        • 1970-01-01
        • 2013-06-09
        相关资源
        最近更新 更多