1

MVC DB プロジェクトに新しい行を追加すると、このエラーを解決できません。以前に Linq を使用して解決した人がいるのを見ています。私はLinqではなくEFを使用しています。私はMVCプロジェクト、VS 2010を持っており、デザイナー経由でSQL 2008に接続しています

1) インターネット プロジェクトを作成 2) モデルを右クリック - > 新しいアイテムを追加 - > ado エンティティ データ モデルを選択し、リモート DB を選択します。

3)コントローラの作成 4)プロジェクトを実行し、新しい行を作成する画面を確認します。これを行うと、2行追加した後にこのエラーが発生します。テーブルを事前に作成し、SQL Server 2008 で PK を Int として定義します。

「/」アプリケーションでサーバー エラーが発生しました。IDENTITY_INSERT が OFF に設定されている場合、テーブルの ID 列に明示的な値を挿入できません。

私はコードを書いていないので、他に何を言う必要があるのか​​ わかりません

[Serializable()] [DataContractAttribute(IsReference=true)] public partial class video : EntityObject { #region Factory メソッド

    /// <summary>
    /// Create a new video object.
    /// </summary>
    /// <param name="id">Initial value of the ID property.</param>
    public static video Createvideo(global::System.Int32 id)
    {
        video video = new video();
        video.ID = id;
        return video;
    }

    #endregion
    #region Primitive Properties

    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.Int32 ID
    {
        get
        {
            return _ID;
        }
        set
        {
            if (_ID != value)
            {
                OnIDChanging(value);
                ReportPropertyChanging("ID");
                _ID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ID");
                OnIDChanged();
            }
        }
    }
    private global::System.Int32 _ID;
    partial void OnIDChanging(global::System.Int32 value);
    partial void OnIDChanged();

    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
4

3 に答える 3

1

モデルの .edmx ページにアクセスし、ID 列を選択してください。プロパティ ウィンドウを開き (F4 キーを押します)、'StoreGeneratedPattern' プロパティを 'Identity' に設定します。このプロパティは、データベース内の対応する列が挿入および更新中に自動生成されるかどうかを決定します。

于 2012-12-02T19:08:47.843 に答える
0

同じ問題に遭遇しました。Flavia の方法を使用して問題を解決しました。私が試した他の解決策:1)identity_insertをオンに設定する2)データベースモデルを更新する

私はasp.net MVC 5 EF(データベースファースト)を使用しました。問題は、モデルを何度も再構築していて、どこかでその列の ID をオフにしたに違いないことだと思います。

于 2015-01-23T19:06:10.823 に答える
0

DB のテーブルのスクリプトを送ってもらえますか? ID 列 (ID 増分 / ID シード) が主キーに設定されていない可能性があります

于 2012-12-01T18:54:20.633 に答える