Azureで使用するためにローカルSQL Server 2014データベースを移行する処理中です。私はAsp.net MVCアプリケーションをIIS 8で実行しています。通常、Entity Frameworkを使用してAzure SQL Serverデータベースに接続しています。その後、Entity Framework:挿入により、ローカルではなくAzure SQLを使用したPRIMARY KEY制約違反
- 私は
dbContext
Using(... dbContext.Database.BeginTransaction())
- 他のエンティティが特定の1つのエンティティの追加と
SaveChanges()
の実行に成功 - 持って、私は
db.entity.add(newEntity)
を行い、SaveChanges()
と私は得る:例外: PRIMARY KEY制約 'PK_entity'の違反。オブジェクト 'dbo.entity'に重複キーを挿入できません。重複キー値は(2)です。
主キーが自動インクリメント番号であり、私はこれを実行しているユーザーのみです。このテーブルにはすでに156のレコードがあります。
奇妙なのは、ローカルSQL Serverインスタンスを使用してローカルマシンでこれを実行すると問題なく動作しますが、IISとAzure dbから実行すると、この例外が発生します。
エンティティには、他のリレーション/制約はまったくありません。
私はこのレコード(ISSとAzure)を保存しようとすると、失敗した重複キーの値が毎回1ずつ増加するという手がかりがあると思います。
があります - SELECTは* thistable FROMてください? –
そのテーブルからすべてのレコードを削除してから、 'add()'を実行することができます。それは、既存のデータのせいでエラーが発生していないかどうかを証明します。 – MKR
テーブルDDLとEFモデルの関連部分、およびエラーの原因となったデータベーストラフィックのEFログ(db.Database.Log = m => MyLogger(m))を最小限に共有します。問題を完全に自己完結型のレシピにすることをお勧めします。あなたがそれをやっている間、おそらく問題の根本的な原因を発見するでしょう。 –