EF4.3.1コードファーストマイグレーションを使用しています。私は次のようなテーブルを持っています:
public class Product
{
[Key]
[Column(Order=0)]
[MaxLength(100)]
public string Store { get; set; }
[Key]
[Column(Order=1)]
[MaxLength(100)]
public string Sku { get; set; }
}
上記のコードで作成された既存のテーブルがあります。次に、それを単一列の主キーに移動しました。
public class Product
{
[MaxLength(100)]
public string Store { get; set; }
[Key]
[MaxLength(100)]
public string Sku { get; set; }
}
これにより、EFは次の自動移行で失敗し、次のように不平を言います。
ALTERTABLE[製品]ALTERCOLUMN[ストア]nvarchar
オブジェクト'PK_Product'は、列'Store'に依存しています。1つ以上のオブジェクトがこの列にアクセスするため、ALTER TABLEALTERCOLUMNストアが失敗しました。
明らかに、このALTERステートメントを起動する前にPK_Productを削除する必要がありますが(なぜ列を変更するのですか?)、代わりに移行は失敗します。
私は何か間違ったことをしていますか、それともこれはバグですか?回避策?