0

MVC3 と Entity フレームワークの初心者はこちら。編集と新しいエントリの作成の両方を処理するコントローラーを作成しようとしています。これまでのコードは次のとおりです(ほとんどが自動生成されています)

    //POST: /License/Save
    [HttpPost]
    public string Save(LICENSE_USER license_user)
    {
        if (license_user.License_ID != 0)
        {
            if (ModelState.IsValid)
            {
                db.Entry(license_user).State = EntityState.Modified;
                db.SaveChanges();
                return "Save Complete";
            }
        }
        else
        {

            if (ModelState.IsValid) {
                db.LICENSE_USER.Add(license_user);
                db.SaveChanges();
                return "New License created - " + license_user.License_ID;
            }
        }
        return "What's going on here?";
    }

POST に License_ID フィールドを含めているため、編集に最適です。ただし、新しいエントリについては、License_ID フィールドを除外し、デフォルトで 0 に設定しています。次の License_ID フィールドを取得し、そのフィールドでオブジェクトを更新する最もエレガントな方法は何ですか?

4

1 に答える 1

2

データベースのLicense_ID列をプライマリ自動インクリメント キーにします。この方法では、新しいエンティティを挿入するときに手動で設定する必要はありません。データベースが処理します。

EDMX モデルでは、このプロパティのStoreGeneratedPattern属性を に設定する必要があります。Identity

于 2012-06-12T16:43:48.327 に答える