WebMatrix 3 にアップグレードしてから最初にデータベースにデータを手動で追加しようとするまで、この問題は発生していませんでした。そのため、これがバグなのか、何らかの障害防止策なのかはわかりません。
主キーを として非常に単純なテーブルを定義し、int
null を許可しないように設定し、IsIdentity
必要に応じて int 値が自動的にインクリメントされるような型にしました。
その写真を次に示します。
わかりました、単純に思えますが、テーブルに手動でデータを追加しようとすると、当然のことながら、主キーの値を変更することはできません (自動であるため)。
type
および列にいくつかの文字列値をlocation
入力するだけで、主キー フィールドの値が無効なため、変更をデータベースにコミットできなかったことがわかります (スローしようとしているかのように動作します)。NULL
ただし、これは自動的に行を追加するときに上書きする必要があります.ユーザーインターフェイスでは、この値を制御または編集することはできません.
これの写真を次に示します。
これは何ですか?ある種のバグ?WebMatrix が開発者がデータベースに手動で値を追加することを許可しないというのは新しいルールですか? データベースに何かを追加するたびに、クエリを作成する必要がありますか? 私はトワイライトゾーンにいますか?(さて、最後はごめんなさい…)
また、設定していない場合はIsIdentity
、フィールドを編集して PERFECTLY VALID 整数を入力しても同じようにエラーが発生することに気付きました。そのためESC
、変更をバックアップしてから更新を押して、とにかく、実際に行を追加したことがわかります:/。そのため、このインターフェイスは最初はバグがあるように見えます。上記のシナリオ ( を使用IsIdentity
) では、残念ながら行は追加されません。
- - - - - - - - - - アップデート - - - - - - - - - - - - -
最近 WebMatrix の更新プログラムをダウンロードしたところ、これが修正されたようです。わーい!(今までは、一般的な INSERT INTO ステートメントをクエリして、そこから手動で編集していました)。