データベース内のいくつかの主キーの命名に問題があります。私の開発システムでは、主キー制約の名前はPK_FullTableName
. 本番システムでは、すべての制約に名前が付けられていますPK_PartofTableName_3214EC27164452B1
(テーブルごとに異なる 16 進文字を使用)。
私が抱えている問題は移行です。テーブルの主キーを変更する必要があるコードベースの移行があるため、古い制約/主キーを削除する必要がありますDropPrimaryKey("FullTableName", new[] { "Field1", "Field2" });
私の開発システムではすべて正常に動作しますが、本稼働システムでは、制約PK_FullTableName
が見つからないという SQL 例外が発生し、移行できません。
Entity Framework がこれらの 2 つのシステムで異なる制約に名前を付ける理由はわかりません。この動作が何に依存しているか知っている人はいますか? このネーミングは EF からのものですか、それともデータベース (MSSQLExpress) からのものですか? 回避策はありますか?